Don't vibe code. Architect the system.
Founder + system = business
I turned a passion project into a pilot-ready product in 13 months — using AI, working a full-time job, and building all of it myself. It's an AI tutor that watches how an engineering student solves a problem instead of just checking the answer they land on, and it goes into its first university course this fall.
I'm Jason Clement. PhD in mechanical engineering, former engineering professor, and my day job is medical devices. I am not a software engineer.
The AI wrote most of the code. It did not make the decisions. This page is how I split those two things — free, complete, nothing gated.
Vibe coding works. Then it stops.
I started the way most people start: describing what I wanted and letting the tool build it. In one evening I had a working site. Within weeks it had logins, a database, and a chat tutor. That is not a trick and it is not a toy — it is genuinely the fastest way to find out whether an idea is worth anything.
What nobody tells you is where the ceiling is. Not that there's a ceiling — where. You find it the way I did: something breaks, you describe the fix, it half works, you describe it again, and three days later you are further from working than you were on Monday. Nothing warned you. The tool was as confident on day sixty as on day one.
This isn't a knock on the tools, and they're honest about it themselves. Researchers built a benchmark out of real production traces from one of these platforms — ordinary product requests, the kind you'd actually type. The best models finished under half of them correctly on the first attempt. One platform's own engineering write-up puts it more bluntly: most models get worse when extending their own code, and errors compound.
So the ceiling isn't the tool being bad. It's that the thing you're building has started making demands that "describe it and see" can't answer — and you are the only one who can say what those demands are.
If you're vibe coding right now, four rules
No system, nothing to install, nothing to adopt. These work tonight, in whatever tool you already have open, and each one raises the ceiling a little.
-
Talk it all the way through first
Before you ask for a single thing to be built, open a chat and describe the idea like you're explaining it to a smart friend who doesn't know your world. Who is this person. What are they doing right before they need it. What happens when it goes wrong. Then ask it to push back — to poke holes in the business, argue the user won't behave that way, tell you what you're assuming.
Your job in that conversation is not to be right. It's to supply the part it cannot know: how your field actually works, what people actually do, what "good" actually means where you come from. This is the advice I gave my sister-in-law about her business idea before she wrote anything down, and it's the first thing I did with mine.
It shows up in the numbers, too. My median message to an AI is 37 words — but the ones that actually moved the project ran 500 to 1,800, and there were only a few dozen of them. The short ones fix typos. The long ones decide what gets built.
-
Make the plan outlive the chat
Most of these tools now have a plan or discussion mode that describes what it's about to build before it builds it. Use it — you will find a wrong assumption almost every time, and catching one in a paragraph costs a minute where catching it in working code costs an afternoon. But notice where that plan lives: in the conversation. Conversations end, and the next one starts from nothing. Copy the plan into a file you keep. Correct it there. Paste it back at the start of the next session. What made the difference for me wasn't planning — it was that the plan was still there in November.
-
Harvest your corrections
Your tool almost certainly has somewhere to put standing instructions — a rules file, a knowledge panel, custom instructions. Some of them create one for you and read it automatically. What none of them do is fill it in when the AI gets something wrong about your field. That part is yours, and it's the highest-return fifteen seconds on this page: one line each time — what it said, what's actually true, and why. Mine has sixty-six rules in it now, every one of them from a mistake that actually happened. Skip it and you will re-argue the same point every week for as long as you use the thing.
-
Decide what it isn't allowed to decide
Before you start, name the two or three calls that are yours: what "correct" means in your field, which failures are unacceptable, who this is actually for. Write them down. Then notice how often you were about to let a confident paragraph make one of them for you.
What the ceiling looked like for me
My project needed two languages — a web front end, and a Python engine doing the actual mathematics. A published app could only expose one public address, so I ran the two halves as two separate projects that talked to each other over the open internet. Every deploy was a manual re-publish. I was paying for two machines that couldn't properly see each other.
There was probably a way to keep them together that I never found. That's the actual lesson: nothing told me I had just made an architecture decision. I typed a request, got something that worked, and only discovered months later what I had committed to.
For anyone wondering whether the discipline below actually produces anything: for a single textbook problem, the system works out more than a hundred thousand distinct valid ways to solve it before any student opens it — so when a student takes an unusual route, deterministic code recognises it rather than the language model guessing. Roughly three thousand automated tests run against that behaviour, and it went through a security and privacy review before a single student touched it.
That wasn't the tool failing. I'd chosen it for its AI, and by then I had stopped using that AI and was building locally. My system had outgrown what a speed-first tool manages for you — which is a good problem to have, and the point where the four rules above stop being enough.
So I did two things, and they are the whole method in miniature. I let the AI teach me the operations I didn't know — services, networking, environment variables, deployments — because that half it is genuinely better at than me. And I made the architecture call myself, because that half is mine. Everything below is the machinery that keeps that line in the right place.
The system, one piece at a time
Five documents. Each is a real working file from my own build, stripped of anything specific to my project — every page says at the top what it came from. They stand alone, so take one and ignore the rest. If you only do one, do the first. It needs no code and no repository, and you will have something worth arguing with by tonight.
- 01 Set up an AI advisor that pushes back Build an AI advisor worth arguing with
- 02 The decision-routing table Decide what the AI never decides
- 03 Specify before you prompt Talk it through before you build it
- 04 Teach it, then verify it Stop re-explaining the same thing
- 05 Documentation is context Give it a memory that outlives the chat
Build your version
The templates are mine. The value shows up when they meet your expertise — so this fills in the adaptation prompt with your details and shows you the first questions your AI will come back with.
Then paste it into whatever AI you use, and have the conversation. It will start by asking you things only you can answer. Answer them properly — that's the whole exercise. You are not collecting a template; you are showing it your expertise.
Nothing you type here is sent anywhere. The prompt is
assembled in your browser. There's no server behind this box, no analytics, and no
third-party script on this page — and its security policy sets connect-src 'none'
and form-action 'none', so the browser itself refuses to make a network request
or submit a form. A tracker added here by mistake would fail rather than send quietly.
Spellcheck is off on these fields too, since some browsers send what you type to their own
servers. (Loading the page is logged by the web host, as on any site: address, time, browser.
What you type into this box is not.) Check the response headers if you'd like.
What it will ask you first
Where I can help
Deciding what to build is yours. You have the domain knowledge — that is the entire premise of everything above. What I know is the how: the workflow that lets one person with deep expertise ship something real with AI, without surrendering the judgment that made the idea worth building in the first place.
If you're building with AI and hitting a ceiling, I'd like to hear about it. Most of my hours go to Praxen right now, so I take on only a small number of engagements — but the right problem is always worth a conversation.