Most AI web projects that go wrong don't fail on code. They fail because nobody wrote down what "done" means. Here is the checklist I use with every client before I open an editor.
1. Name the one AI workflow
I ask the client to finish this sentence: "The user puts in ___ and gets back ___."
Examples: "Upload a contract PDF -> list of key dates and risks." "Ask a question about our services -> answer with a link to the page it came from."
If the sentence needs an "and also", that's a second workflow and a second line in the quote.
2. Collect real sample inputs
I ask for 5-10 real examples, plus what a good answer looks like for at least two of them. These become the test cases. It turns "the AI should be smart" into something both of us can check.
3. Decide the fallback
What should happen when the model isn't sure? For customer-facing assistants, the answer is almost always: say so, and offer a human. I write that into the scope.
4. Estimate the running cost
The client pays the model provider directly, on their own API key. Before building, I estimate monthly usage from their expected users and set a per-user daily limit in the app, so one busy day can't produce a surprise bill.
5. Agree where everything lives
Code in the client's GitHub. Hosting and database (usually Vercel and Supabase) on the client's accounts. API keys added by the client, not pasted into chat. Handover is then a checklist, not a negotiation.
6. Write the "not included" list
Payments, extra pages, scanned PDFs that need OCR, more languages. Writing these down early is what keeps a 7-day project a 7-day project.
The stack I use for most AI websites
Next.js and React on the front end, Node.js or Python (FastAPI) on the back end, PostgreSQL via Supabase, OpenAI, Claude or Gemini for the model, Stripe for payments, Vercel for hosting.
Here's the whole process as a 40-second video:
If you'd rather have it built for you, I take AI website projects on Fiverr.
Top comments (0)