Skip to content
Building in public7 min read

Building in Public #1: The Dreamer

By Peter Coppinger

Building in Public #1: The Dreamer

I've built software companies for twenty years. The plan after all that was to retire. Turns out retiring is not me. I lasted about two weeks.

What I couldn't stop thinking about was AI. I've gone from sceptic to believer faster than I'd like to admit, and I spent months brainstorming what to do with that. Then I asked myself the obvious question.

If it's the hottest market in the world, and you have the ambition and the ability, why would you NOT go for it?

The only answer I could come up with was: because somebody else is already so good at it that you don't have a chance. So I went and checked. I sat down and tried the top ten AI app builders, properly, one after another.

For me there were only three good ones. And I reckoned I could build a decent competitor to them.

Because I could see the gaps everywhere. Problems in the UI. Things in the UX that could be better all over the place. Bugs in the apps they were producing. And the apps themselves were basic, missing things like light and dark mode that every modern app in 2026 should just have.

What if I made apps that go the extra mile by default?

There was one more thing I had that they didn't. I'd already spent years building a sync engine and hardening it in production, with real customers who would have been furious if it ever lost their data. Keep the data on the device, write to it the moment the person clicks, let the server catch up in the background. Once you have felt software that works that way, ordinary web software feels broken. I mean that literally. Every spinner starts to annoy you.

Then it clicked. What if I brought those superpowers to THIS space. Instant loading. Offline mode. Realtime updates. And the ability to build a UI stupidly fast.

Now that would be killer.

So: three things I care most about in one room. Sync technology, AI and product design, pointed at one of the hottest categories in software. Not to add another name to a crowded list, but to bring the one thing nobody there has. Real apps. Instant, offline, alive. For anyone who can describe one in a sentence.

I had to do this. First catch the competition. Then eclipse them. They've got a two year head start on me. But nobody has my passion, read obsession, and nobody is going to outwork me.

The idea captivated me. I have not been able to stop thinking about it since.

(If you want the longer version of how I got here, the twenty years and the rabbit hole I fell down on my way to all this, it's over here. Skip it if you're here for the build.)

I'm going to try something here: a weekly journal of building Vorx, written as it happens. The wins, the walls I walk into, the late nights. Building in public, warts and all.

So, week one.

Before any of that I drew the target. A flat mockup of the thing I wanted to exist, built in an evening, with a working app sitting beside the builder that made it. No name on it yet, so it went out under a placeholder.

The first mockup of the builder, before the name existed

Fastest way to find out if it was real was to hack a prototype. I cloned our existing stack, ripped out what I didn't need, and wired a prompt box to the codebase. Sunday night I typed an instruction and watched the AI actually change the app in front of me.

That was the eureka moment. I may have said something unrepeatable out loud. Here is the exact screen, headline and all.

The first prompt-driven edit landing: the hero now reads It's alive! Hello Claire

The headline is addressed to my wife because she was the nearest person to tell.

Then I spent an hour doing what anyone would do with a new toy, which is find out where it breaks. Change the subtext. Add a testimonial. Make the whole page red. It did all of it, and narrated what it was about to do in plain English first.

The agent taking a series of silly instructions, ending with an entirely red page reading CABBAGE

That is a real screenshot of a real evening. I regret nothing.

Since then I've barely slept. One night I looked up and it was 5am, sunlight coming through the window. I'm not proud of it (OK, a little proud). Full project edits are working now. Visual select-to-edit is working: click an element, describe the change, watch it happen with a little fizz of sparks. The sparks matter. Software should feel like magic, especially software that is magic.

Not everything is rosy. I gave the same prompt to Vorx and to the established players, and honestly? Theirs looked better. Ours was slow and the output was mediocre. So I started building a test suite: same prompt, every tool, side by side, ranked. If I'm going to catch up with teams that have been at this for years, I need to measure, not guess.

Here is what that looks like, and it is not flattering. Same brief to everyone, my result on the left, and the ranking I had to give it honestly.

The benchmark harness with a running club brief, competitor results ranked first, third and fourth, and my own result unranked

Publishing that is not comfortable. It is also the entire point of doing this in the open.

I should be honest about the other thing week one did to me, which was frighten me.

When you write down everything this has to be good at, the list does not fit on a page. A builder that plans screens and writes real code. A backend, auth, hosting. A sync engine underneath all of it. Design taste in the output, not just working output. Speed. And across the table, teams with years of head start and a lot more people than one. There were a couple of evenings this week where I looked at that list, alone in a quiet house, and felt genuinely small.

Then I got up the next morning and did it anyway, because one of my actual superpowers is that I am too dumb to be put off.

Whatever else is true about me, I will keep pounding on this thing until it bends.

That is not a joke at my own expense, it is the actual method. I have watched very able people talk themselves out of hard problems by seeing every reason it will not work, early and clearly. I do not seem able to do that. I just keep going at it, and problems that looked immovable on Monday tend to give way by Friday to somebody who refuses to leave them alone.

So the honest emotional read of week one is both things at once. Genuinely giddy on Sunday night when the first edit landed. Genuinely rattled on Thursday looking at the gap between what I have and what good looks like. I do not think those cancel out. I think that is just what the start of something worth doing feels like.

It's a mountain. But I've climbed one before, and I know how this goes: try it, break it, understand it, fix it. Repeat until it's great.

One more thing: where the name came from

I should explain the name, because I did not think of it this week. I bought it about a year ago.

I was on atom.com late one night, doing the thing where you search for a name and everything good has been gone since 2011. And there it was: Vorx. Short, sharp, four letters, and I thought it was fantastic. I paid too much money for it there and then, at the kind of hour where that feels like decisiveness rather than a mistake.

I had a vague plan for it. A suite of products, several things under one name, which I may still build one day.

Then I woke up in the morning and thought: what have I done. It was completely unsuitable for that project. So I sat on it for a year and tried not to think about the invoice.

Fast forward to a few weeks ago. I am hunting for a name for this thing, searching high and low, checking domains, watching every decent option come back taken. And it hit me. I already own it.

Vorx. Slightly nerdy, a bit technical sounding, and exactly right for a tool that builds software.

That was it. I was sold in about four seconds on a name I had been quietly regretting for twelve months.

Which just left the small matter of a brand to go with it.

Let's go.

Just shipped

  • Feature: sharing your build now earns credits: post it on X or LinkedIn, submit the link, get 15 credits.
  • Bug fix: the language picker now actually saves your choice instead of reverting on the next page load.
  • Feature: fleet coordination now works from anywhere. A hosted endpoint, not my home Wi-Fi.
  • Feature: Mission Control is served online, locked to the company's own accounts.
  • Feature: generated apps can now be installed like native apps, icon and all.
  • Feature: a performance gate flags exactly which change slowed a generated app down.
  • Feature: generated apps can connect to Google Sheets: append rows, read rows.
  • Feature: generated apps can schedule real recurring jobs, not fake ones.
  • Feature: owners get told immediately if their published app's database ever disappears.
  • Feature: Apple login for generated apps.
  • Bug fix: edits interrupted by a deploy now resume instead of silently vanishing.
  • Bug fix: the cookie consent banner was never actually visible on production, so nobody was ever asked.
  • Bug fix: generated apps were asking their database for tables that were never created. It hit 18 live projects.
  • Bug fix: a code slip in generated apps could crash the whole page on load. Caught and fixed.
  • Bug fix: publishing showed a "failed" message while the site was actually live. Fixed.
  • Bug fix: agents quietly working from stale code can no longer ignore the staleness.
  • Bug fix: a fresh browser window said "please log in again" to people who were logged in.
  • Bug fix: demo data stopped booking appointments on days the business is closed.
  • Bug fix: copied credentials could point a new project at the wrong database. Sealed.
  • Bug fix: an overeager cleanup job was deleting healthy backends. Stopped.
  • Feature: sharing your build now earns credits: post it on X or LinkedIn, submit the link, get 15 credits.
  • Bug fix: the language picker now actually saves your choice instead of reverting on the next page load.
  • Feature: fleet coordination now works from anywhere. A hosted endpoint, not my home Wi-Fi.
  • Feature: Mission Control is served online, locked to the company's own accounts.
  • Feature: generated apps can now be installed like native apps, icon and all.
  • Feature: a performance gate flags exactly which change slowed a generated app down.
  • Feature: generated apps can connect to Google Sheets: append rows, read rows.
  • Feature: generated apps can schedule real recurring jobs, not fake ones.
  • Feature: owners get told immediately if their published app's database ever disappears.
  • Feature: Apple login for generated apps.
  • Bug fix: edits interrupted by a deploy now resume instead of silently vanishing.
  • Bug fix: the cookie consent banner was never actually visible on production, so nobody was ever asked.
  • Bug fix: generated apps were asking their database for tables that were never created. It hit 18 live projects.
  • Bug fix: a code slip in generated apps could crash the whole page on load. Caught and fixed.
  • Bug fix: publishing showed a "failed" message while the site was actually live. Fixed.
  • Bug fix: agents quietly working from stale code can no longer ignore the staleness.
  • Bug fix: a fresh browser window said "please log in again" to people who were logged in.
  • Bug fix: demo data stopped booking appointments on days the business is closed.
  • Bug fix: copied credentials could point a new project at the wrong database. Sealed.
  • Bug fix: an overeager cleanup job was deleting healthy backends. Stopped.

Stay updated: one founder, an army of AI agents, building this in public.

Get each new diary entry by email: the wins, the failures, and the one number we're chasing. No spam, unsubscribe any time.