Skip to content
View in the app

A better way to browse. Learn more.

ernestdefoe.online

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
ernestdefoe.online

Extensions, themes & support for Flarum and Invision Community

Vibe coding for the community web. Report a bug, request a feature, or dig into the source — this is where the tools you use get built, in the open.

We do custom Bespoke Invision Community apps. If you have an idea for something you want then use the contact form to get in touch with us.

Our use of vibe coding in our themes and extensions.

Featured Replies

  • Administrators

💬 How we build: yes, we vibe code everything — here's why (and how we keep it safe)

We believe in being straight with the people who use our themes and extensions, so here it is: every theme and extension we ship is built with vibe coding. All of it.

If that word makes you nervous, or makes you roll your eyes, this post is for you. We want to make the honest case for why it's a great way to build — and be just as honest about the ways it goes wrong when people don't respect it.

What "vibe coding" actually means

Vibe coding is building software by describing what you want in plain language and letting an AI assistant write the code, then steering it conversationally — "make the buttons bigger," "now add a dark-mode toggle," "that broke the sidebar, fix it" — instead of hand-typing every line yourself.

You're still the one in charge. You're still making every decision about what gets built, how it behaves, and whether it's good enough to ship. You're just spending your time on the what and the why instead of the boilerplate.

⚡ Why it's good — for those still on the fence

It's fast where speed actually matters. Ideas that used to sit in a backlog for months can be prototyped in an afternoon. That means more features, more often, and bugs fixed while they're still fresh.

Iteration becomes cheap. When changing something costs minutes instead of hours, you experiment more. You try the bold version of an idea instead of the safe one, because if it doesn't work you just try again.

It frees you to focus on the experience. The hours not spent wrestling with boilerplate go into the things you actually feel as a user: the layout, the polish, the little touches that make an extension a pleasure to use.

It lowers the wall. A great idea for a theme or feature no longer dies just because someone didn't have ten years of framework experience. More good ideas get to exist.

It keeps the big picture in view. Describing a feature in plain language forces you to be clear about what it should do — which, honestly, is where most software goes right or wrong long before the first line of code.

If you've been on the fence, the short version is: it lets a small operation move like a big one, and ship things that are genuinely good.

⚠️ The harms — for those who don't use it properly

This is the part people skip, and it's exactly why vibe coding gets a bad reputation. Used carelessly, it can ship real damage:

Shipping code you don't understand. The single biggest trap. If you can't explain what a piece of code does, you can't tell when it's quietly broken — and you definitely can't fix it under pressure when something goes wrong on someone's live forum.

Security holes you never see. AI will happily write something that works but leaves a door open — missing permission checks, unsanitized input, leaky endpoints. For an extension that runs on other people's communities, that's not a small mistake.

Invisible technical debt. Code that looks fine and runs fine can still be a tangled mess underneath. Skip the review and you build a tower that gets harder to change with every "just add one more thing."

Confidently wrong answers. AI sometimes invents functions, settings, or APIs that don't actually exist, and states it with total confidence. Without testing, those land straight in a release.

"It worked on my screen." Generated code often handles the happy path beautifully and falls apart on the edge cases — the empty list, the weird timezone, the user with 4,000 notifications. Skipping testing means your users find those edges for you.

The pattern in every one of these is the same: the harm doesn't come from using AI to write code. It comes from abdicating judgment — treating the output as finished instead of as a first draft.

✅ How we do it responsibly

We vibe code everything, and we still sleep fine, because we treat the AI as a very fast junior developer — not an oracle:

We read and understand every line that ships. If we can't explain it, it doesn't go out.

We test against the messy real world, not just the happy path — odd inputs, big forums, light and dark themes, missing optional dependencies.

We sweat security on anything that touches permissions, user input, or data.

We own the result. When something breaks, "the AI wrote it" is not an excuse — it's our name on the extension, and our responsibility to fix it.

That's the whole philosophy: vibe coding gives us speed; judgment keeps it safe. Drop either half and you get something worse than not using it at all.

We're proud of how we build, and we think the results speak for themselves across our themes and extensions. If you've got questions about any of this — or you're curious how a specific feature came together — ask away. We're happy to talk about it.

</ernestdefoe·online>

  • Replies 1
  • Views 40
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Create an account or sign in to comment

Want to reply?

Ask a question about any of these applications and it will be answered by the person who wrote them. It takes about thirty seconds, and you keep what you have already typed.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.