Guided build · an evening

Review collector

Asks happy clients for reviews and gathers them in one place.

You will build this by describing what you want in plain words, in your own language. Claude writes the code; your job is to describe the result well and check it. Here is the whole path, start to finish.

ℹWhat you'll have at the end

Asks happy clients for reviews and gathers them in one place.

First, how to actually talk to the agent

  1. 1Describe the RESULT, not the tech: what's on screen, what each button does, what gets saved. The agent handles the 'how'.
  2. 2Be concrete about screens and fields — 'a form with amount, category and date' beats 'let me add expenses'.
  3. 3Ask for the smallest working version first. You grow it by talking afterwards — that's Step 2, not the first message.
  4. 4Decide what's YOURS, not the agent's: name the categories, colours, rules. Don't make it guess what only you know.

Step 1 — Build it live

Prompting for this kind of tool

  1. 1For a review collector, nail THREE distinct surfaces: the client form (name, a 1-to-5 star picker, a comment box, then a thank-you screen), the private owner dashboard (every review with stars and date, filter by rating, a publish toggle on each), and the public wall (only the published ones, as clean cards).
  2. 2Decide the publish rule yourself: by default a review is NOT public until you flip its toggle. Say that plainly, or you risk a one-star rant going live on your wall the moment it's submitted.
  3. 3Spell out the star picker as actual tappable stars, not a number you type — and that the comment box is optional so a quick 5-star takes one second to leave.
  4. 4End with: 'build the whole thing, check that it works, and tell me exactly how to open it.'
Start Claude
claude

Open the terminal and run this (if Claude is already running, type /exit first). Then ask it to make a folder for this project and work inside it.

The wrong ask vs. the right ask
✕ what most people type
you ▸ get me five-star reviews
✓ what actually works — copy it, or better, say it in YOUR words
you ▸ Build me a review collector. A client-facing form with a name field, a 1-to-5 star picker and a comment box, followed by a thank-you screen once they submit. A private owner dashboard lists every review with its stars and date, lets me filter by rating, and gives each one a 'publish' toggle. A separate 'wall of reviews' page shows only the published ones, laid out as clean cards for new clients to see. It works in the browser and keeps everything in browser storage for now. Clean readable design. Build the whole thing, check that it works, and tell me exactly how to open it.
✦✦

Say it in YOUR language — Russian, Spanish, anything. Claude understands.

Build it now — tick as you go

0/6

Step 2 — It's built. Now make it yours

ℹClaude said 'open localhost…' — now what?

Don't panic at the techy link. Claude tells you one of two things. Either a file like index.html — find it in your project folder and double-click it; it opens in your browser. Or a web address starting with http://localhost — copy it into your browser's address bar and press Enter. 'localhost' just means 'this is running on your own computer right now'. That's your tool. It's real.

Now tweak it until YOU like it — just talk

This is the part that makes it YOURS. Don't accept the first version — change it by saying what you want, right there in the same chat. Claude rebuilds and you refresh. Keep going until it fits how you actually work. For this tool, try things like:

you ▸ if someone leaves 4 or 5 stars, show a button to also post it on Google; if fewer, just send it privately to me
you ▸ let me add a photo of the client's result next to their review
you ▸ make a 'wall of reviews' page I can show off the published ones on
✦How I (Evgenii) actually do this

I don't type long messages. I open voice-to-text (the mic in ChatGPT, or your phone keyboard), and just TALK through everything I think about what it built — what's wrong, what I want next — then select-all, copy, and paste the whole brain-dump into Claude Code. Messy spoken thoughts work fine; the agent sorts them out. It's several times faster than writing.

Step 2.5 — Test it like a real thing (it won't be perfect first try)

The truth no one tells beginners: the first build is a DRAFT. The agent makes something, you run it, you find what's off, you tell it — and THAT loop is the actual work. Don't read the code. Use the tool like a stranger would and watch where it lets you down. For this tool, check exactly this:

  1. 1Open it (Claude gives a localhost link or an index file — see Step 2) and submit two reviews as a client — one 5-star, one 2-star — using the form. Do you land on a thank-you screen each time?
  2. 2Open the owner dashboard: are both reviews listed with their stars and the date? Filter by rating — does the 2-star drop out when you show only 4-5?
  3. 3Flip the publish toggle on the 5-star one only. Now open the wall page — does it show ONLY the published 5-star, and NOT the unpublished 2-star?
  4. 4Refresh the page (F5 / Cmd-R). Are all your reviews and their publish states still there? If they vanish, browser storage isn't wired up — fix that next.
  5. 5Check the wall on a narrow window (phone width) — do the review cards still look tidy, since that's the page strangers will actually see?

Found something wrong? Say it like this

You fix nothing yourself — you DESCRIBE what's wrong in plain words and the agent fixes it. Be specific: what you saw vs. what you expected. Real examples for this tool:

you ▸ 'a review showed up on the public wall before I approved it — keep everything unpublished until I flip its publish toggle myself'
you ▸ 'the star picker makes me type a number — make it five tappable stars instead'
you ▸ 'when I refresh the page my reviews disappear — save them and their publish state in browser storage so they stay'

Don't stop at v1 — grow it

A tool you built in ten minutes is a starting point, not the finish line. The people who get hooked keep saying 'now also…'. Each line below is one sentence you paste into the same chat to level this tool up:

you ▸ 'put the client form online and give me a short shareable link I can text to a client right after the job' — the whole point is a link they open on their own phone; on your laptop it collects nothing.
you ▸ 'when someone leaves 4 or 5 stars, show them a button to also post it on Google; if fewer, just send it privately to me' — public praise grows, quiet complaints reach you first.
you ▸ 'email me an alert with the stars and text the moment any review comes in, and drop every response into a Google Sheet' — you react to a bad one fast and keep a sortable record of all of them.
you ▸ 'let me add a photo of the client's result beside their review on the wall' — before/after pictures sell harder than words for new clients.

Step 3 — Connect it to the world (optional)

Free data & APIs for this one

An API is just how your tool pulls in outside data or sends things out — many are free. You rarely need to research them yourself; the move that works for ANY idea is to ask the agent to find them:

  1. 1To start you need NO external API — the form, dashboard and wall all run in the browser on your device.
  2. 2Gmail or the Telegram Bot API (both free) are perfect for 'new review' alerts and for auto-sending the review link to a client after a job; the Google Sheets API (free) collects every response in a sortable spreadsheet.
  3. 3Reusable move for ANY idea: ask Claude — 'look up free or open APIs that fit a review collector and tell me which actually need a key.' It will list them; you pick.

About paying for the AI parts

  1. 1Building the tool with Claude Code is covered by your Claude plan (Pro, Max, Team or Enterprise) within its usage limits.
  2. 2If the finished tool itself should call Claude (for example to write texts for you), it needs its own API key from the Claude Console, and that use is paid separately, per use.
  3. 3Prices change; check claude.com/pricing before you plan anything that runs often.

A tool gets superpowers when it can talk to other services — send you a message, read a sheet, pull live data. Each service hands out an 'API key' (a long password that says 'this is me'). For THIS tool, the useful ones are:

Which keys this tool can use

  1. 1Gmail — email the review link to a client automatically right after the job
  2. 2Google Sheets — collect every response in a spreadsheet you can sort and filter

Getting a key works the same almost everywhere: log into the service → Settings → 'API' or 'Developers' → 'Create key' → copy it. Then ask Claude: 'create a .env file with an empty spot for this key and check that .env is in .gitignore', and paste the key into that file yourself. Do not type the key into the chat.

Step 4 — Put it online (only if someone else needs it)

✓Who'd want this one online

The whole point is to send clients a link they open on their own phone — that needs to be online; then you publish the best ones for new clients to see.

Buy a server and a domain — like ordering groceries

  1. 1Server: first ask Claude 'create an SSH key for my server and show me the public part'. Then sign up at a host (Hetzner, DigitalOcean…), click 'Create Server', pick Ubuntu, the cheapest size and login with an SSH key, and paste that public key. Save the IP address it gives you. It costs a few dollars a month and you can delete it any time.
  2. 2Domain: buy a name at any registrar (Namecheap, Cloudflare…). Then add ONE 'A record': Type = A, Host = @, Value = your server's IP. That's the whole DNS part — ignore every other field.
  3. 3Hand it to Claude: back in your terminal, say: 'deploy my project to my server. IP: <the ip>, login with my SSH key, domain: <yourname.com>. Set up HTTPS and basic security.' Claude connects with the key, installs everything, secures it and makes it live. No password goes into the chat.
  4. 4DNS can take minutes to a couple of hours to wake up — if Claude says the domain isn't answering yet, that's the wait, not a mistake. Come back later and say 'try again'.

Step 5 — Keep your keys (so you can come back)

Save the server's IP and your domain in your notes. The SSH key stays on your computer; keep a backup of it. Then ask Claude: 'write in CLAUDE.md how to deploy this project to my server'. No passwords go into that file, and any later day Claude can update the site with one sentence: 'deploy the update'.

Step 6 — Stay safe (two easy habits)

  1. 1Back up anything you'd hate to lose. If the tool holds real data (your budget, health log, client list), ask Claude early: 'add an export/backup button' — one click saves your data to a file. Do it before you ever rebuild from scratch or move the folder.
  2. 2Don't hand Claude the keys to dangerous rooms. Keep it pointed at this project's own folder. Never connect a learning project to your bank, your crypto, or anything irreversible. Receipts and calendars — yes. Savings — no.
  3. 3Think before you ask. Claude does what you say in the folder you're in. 'Optimize my photos' optimizes them; it won't delete them — unless you ask for something reckless. Sane requests, clean workspace, and there's simply nothing scary left.

The mistakes that stop most people

  1. 1Asking for something vague ('make me an app') and getting something vague back. Name the screens, the buttons, what gets saved.
  2. 2Cramming in ten features at once. Ask for the tiniest working version first — then grow it with follow-up requests.
  3. 3Stopping at the first error. An error isn't failure — paste it to Claude or describe what you see, and it fixes it. That loop IS the work.
  4. 4Deciding you need to 'learn programming first'. You don't need to understand the code Claude writes. You need to describe the result.
  5. 5Not saying what 'done' means. End the request with how you will check it, for example 'done when I can add an item and it is still there after I reload the page'.
  6. 6Building for an imaginary audience. Build the version YOU will open tomorrow. Polish never; use immediately.
!If something breaks

Normal. Tell Claude what's wrong in plain words ('the button does nothing', 'the page is blank') or paste the red error text. It finds and fixes it. You check. Repeat until it works.

checkpoint

That's it. You built a real tool.

You described the tool in words, Claude built it, and you checked it yourself. That is the whole loop, and it works the same for bigger tools.