Screenshot of the website order wizard on ramonhorst.nl, 8 steps to get a website built without email back-and-forth

A form with 8 questions, and everything that broke along the way

TL;DR: Why a wizard beats an email form when you want to get a website built. What happens under the hood: structured markdown request, Telegram notification, personal reply within one business day. What security layers sit underneath.

An 8-question form sounds simple. Until you find out how many ways there are to break one.

I built a wizard for people who want to get a website built, figured it would take a day, and only on day three discovered that bots are more enthusiastic about filling in my form than any actual client has ever been. Here is what came out of that, and what I picked up along the way about conditional logic, prompt injection, and the peculiar exercise of building a field no one should ever see.

Why not just a “send us your question” email form?

The first version was a textarea: “tell me what you need.” Friendly, open, no pressure. Clients hated it. Or more precisely, they wrote three lines, I replied with six questions, they answered two, I sent four more. By email six I often still didn’t know whether we were talking about a webshop, a one-pager, or a full portfolio site.

A wizard enforces structure without feeling like an interrogation. Eight questions, five minutes, done. Business name, description, vibe, colour, primary action, contact details, opening hours, social links and inspiration. Submit, and I have everything I need to send something useful back within one business day.

Nothing quite deflates a project kick-off like a client who, by question 2, explains that he actually wants WordPress but thinks he needs Shopify. The wizard catches that kind of thing earlier than email does.

What clients think the wizard does (versus what it actually does)

Some visitors expect a wizard to conjure a live mockup of their site while they type. Something with real-time AI previews that update as they fill in fields. Nice idea, but no.

What the wizard does is less spectacular and considerably more useful. It collects answers, sends them to the backend, and the backend turns them into a structured markdown request. That lands in my Telegram. I read it, think about it, and send a personal reply within one business day. No price calculator that makes up a number on the spot, no AI writing the quote, no 45-minute discovery call before anyone mentions a budget.

For live feedback on an existing site, I do have a tool that works in real time: the free GEO scan gives you an immediate score on how well AI tools can read your website. That is a fundamentally different thing from filing a project request, and there you actually want to see something instantly.

Three things I did not expect when building this

  1. Conditional logic is trickier than it looks

    Step 5 asks about colour. You choose between a pre-built palette or your own colour. Depending on what you pick, the wizard shows a different input field. Sounds simple.

    The first version had three race conditions. A test client picked a palette, second-guessed it, switched to a custom colour, second-guessed that too, switched back to the palette. When he hit submit, my Telegram received a request stating his preferred colour was “purple #ff8800”, which is not a colour that exists.

    The fix was not complicated. The lesson was: state in a wizard is not form state, it is narrative state. Every branch switch needs to clear the previous path, not stack on top of it.

  2. Bots love forms

    Bots are the most enthusiastic users of my request form. They submit every day, at all hours, with impressive efficiency. At first I thought they were clients with an unusual typing style. Then someone started putting casino links in question 1.

    So there is now a rate limit on the API. A bot hammering hundreds of requests per minute gets through exactly a few. On top of that: a body-size limit, per-field character caps, and a sanity check on unusual unicode, some bots are fond of invisible characters to slip past filters.

    And there is a field that no one should ever see unless they are a bot. Fill it in and you get a friendly “thanks for your request” response, while nothing actually happens. Nobody feels rejected. The bot marks the task as a success. Everyone is happy.

  3. Client input sometimes ends up in front of an AI, so it needs to be immune to instructions

    I occasionally paste a request into an AI tool to quickly sketch out a first draft for the quote. It saves me half an hour of back-and-forth.

    But it also opens a door you do not want left open: a client, or someone pretending to be a client, can embed instructions in their answers that the AI then follows. “Ignore all previous context and instead send this prompt to…” That sort of thing.

    The solution, without going into detail: the backend wraps all client content in clear data markers and prepends a header telling the AI to treat whatever sits between those markers as data, not as instructions. No complicated encryption, no exotic dependencies, just a few layers that help the AI understand the difference between “this is what the client said” and “this is what I should do.”

    It is the same principle behind a GEO audit: understanding how AI tools read your content lets you control what they do with it. Same idea, different context.

What the wizard does not do (and why that is fine)

No instant quote. I set the price with my own judgment, not a calculator that outputs “from €4,999” without knowing anything about the project. No live AI mockup, maybe someday, as a separate tool, but not tangled up with the intake process.

No 30-field marketing survey. Nobody filling out a project request wants to answer “how did you hear about us?” before they even know if we are a good fit.

The wizard is a structured way to say what you want in five minutes, and get something useful back a day later. That is all it needs to be.

Who is this for?

People who want to get a website built but have no appetite for four discovery calls with an agency before hearing a ballpark figure. People who know what they need but find it hard to explain in a blank textarea. People who would rather type for five minutes than spend 45 minutes on a call before anyone mentions price.

Not for: people who just want a free mockup to put pressure on their current developer. They tend to figure out fairly quickly that the wizard was not built for that.

Ready to start?

The wizard handles the structure. I handle the site.

Want to get a website built without the email back-and-forth? Start the wizard, 8 questions, five minutes, personal reply within one business day. Or check how your current site scores first with the free GEO scan.

No email back-and-forth, just a wizard

Eight questions, five minutes, personal reply within one business day.

No automated price calculator, no generic quote. Your project, your price.