Who I am, why this book exists, and how to get the most out of it.
My name is Veldan. I live in Singapore, and in June 2026 I opened Claude Code for the first time with no real plan. I wanted to see what I could build. Five months later I had shipped more than twenty projects: games, AI tools, online shops, a website builder, a link-in-bio service with live payments, a website checker, an AI marketing studio, nine websites for local shops that didn't have one, and a site for a real engineering company.
That sounds impressive until you ask the obvious question, which is how many of those things made money. The honest answer is: far fewer than the number I built. For most of those months I was very good at building and very bad at selling. I built first and asked questions later. I paid for tools I didn't need. I made websites that looked like every other AI-generated website on the internet. I ran ads that I couldn't measure.
This book is everything I wish someone had handed me on day one. It is not a get-rich-quick book. It is a record of what actually happened, what it cost, and the order of steps I would follow if I started again tomorrow with nothing.
How the book is organised
Part One is my story: the timeline, the real budget, and my mistakes, each one labelled clearly as mine. Read it so you can recognise the same traps when you walk toward them.
Part Two is the craft: the tools I use with links to every one, the difference between a prompt and a skill, how to write prompts that get good results, and why some AI-built websites look cheap while others look like a real company made them. There are pictures.
Part Three is the launch: twelve steps from "I have no idea" to "someone paid me", a chapter on Google Ads, the mistakes other beginners make, and a thirty-day plan with a checklist you can tick off on this page.
Three rules before you start
Do the steps in order. Nearly every mistake I made came from skipping ahead, usually to the fun part, which is building.
Don't spend money until a step tells you to. You can get surprisingly far for the price of a domain name and one AI subscription.
When a word is unfamiliar, check the glossary. It is at the back of the book and explains every technical term in plain English. Nothing in here assumes you are a programmer.
A note on money
I use Singapore dollars (S$) for things priced locally and US dollars (US$) for software, because that is how they are billed. As a rough guide, US$1 is about S$1.30.
The timeline, the money, and the mistakes. All of them mine.
Chapter 1
Five months, twenty projects
What I built, month by month, and the pattern I didn't notice until I wrote it all down.
When I made this list I was surprised by how long it was. When I marked which projects had a paying customer, I was surprised by how short that list was. Here is the whole thing.
June: building for fun
I started with games: a multiplayer games site, a hacking game for my friends, a flight simulator and a boat simulator. Then I moved on to "real" products. I built Cortex Law AI, a personal legal advisor, and Clarix, an AI customer-support platform. Both had login screens, dashboards and polished landing pages. Neither had a single person who had asked for them.
July: the first real business ideas
I built Nuro, an AI automation platform, and VibeClip, a video tool. In early July I installed my first design skill (more on skills in Chapter 5) and for the first time my sites stopped looking like everyone else's.
Late in July I tried two ideas aimed at real businesses. The first was an AI email auto-responder for Singapore aircon companies: the company forwards its customer emails to my system and the AI drafts and sends a reply in seconds. The plan was S$500 to set up and S$150 a month. The second was Prismstatic: I found shops on Google Maps with no website, built them a complete website on spec, with a booking system and their real menu, and pitched it for S$450. I built nine of these in two days.
August: more products
Webcove, an AI website builder. Layzi Clicky, an online store. A squishy-toy shop. A website for RES Engineering, a real company that needed a new site. DoctorMySite, which scans a business's website and tells the owner where they are losing customers. Abyssal Lights, a deep-sea themed furniture store.
September: looking for the shortcut
I launched LinkPalo, a link-in-bio page for creators, with real payments and a real database. Then I spent a day researching businesses that would need "zero marketing", hoping to find an app store niche or a tool nobody had built yet. Every lead turned out to be a dead end (Mistake 5 in Chapter 3). I also started posting a daily Instagram reel for my studio, Grandary Group, and learned a lot about why people scroll past.
October: marketing, finally
I started selling a product on TikTok Shop with AI-generated promo videos. I built Kapwy, an AI marketing studio at kapwy.com. I ran my first Google Ads campaign. And I moved RES Engineering's website to its new design, which taught me a painful lesson about search rankings.
The pattern
Look at that list again and notice what is missing. There are lots of verbs about building. There are very few about talking to customers, testing prices or selling. Until September, almost all of my time went into making things, and almost none went into finding out whether anybody wanted them.
Building is the easy part now. AI made it easy. Selling is the part that is still hard, so that is the part you should practise first.
If you remember one thing from this chapter, make it that. AI has made building cheap and fast. That means the thing that separates a business from a hobby isn't whether you can build it. It is whether you can find people who will pay for it, and get them to trust you enough to do it.
What five months of building actually cost me, and what you need to spend to start.
People assume you need thousands of dollars to start a software business. You don't. Most of the infrastructure that big companies use has a free tier that is more than enough for your first hundred customers. The money goes on three things: your AI subscription, your domain names, and anything you pay to reach customers.
What I spent, June to October 2026
These are approximate figures from my own accounts, rounded. The biggest line is the AI subscription, because I used it all day, every day.
Item
What it's for
Approx. cost
Claude Max subscription
Claude Code, which wrote almost all my code. US$100–200 a month, five months
US$500–1,000
Domain names
webcove.io, linkpalo.com, doctormysite.com, kapwy.com, abyssallights.shop and others
US$80–120
AI video credits
Artlist, Higgsfield and fal.ai for product videos and reels
US$100–150
Social posting tool
Post for Me, to connect and post to Instagram, TikTok and YouTube
Free tiers. Stripe only takes a fee when you're paid
US$0
Total
Five months, twenty projects
≈ US$800–1,400
Some of that was waste. If I started again knowing what I know now, I would have spent less than half. The mistakes in Chapter 3 tell you exactly which half.
What you need to spend
Here is what I would budget for someone starting today, in three levels. Start at the first level and only move up when a step in Part Three tells you to.
Level
What you pay for
Monthly
1. Validate Weeks 1–2
Claude Pro (US$20). A free Google account. That's it. You are talking to people, not building.
US$20
2. Launch Weeks 3–4
Claude Pro. One domain (about US$12 a year). Vercel, Supabase, Resend and Stripe on free tiers.
≈ US$21
3. Grow After first sales
Optionally Claude Max (US$100) if you hit usage limits. Google Workspace email on your domain (about US$7). A small ad test (S$10–15 a day for two weeks).
≈ US$110 + ads
If you're in Singapore
Registering a sole proprietorship through Bizfile costs about S$115 for the first year (name application plus registration). You don't need to register to have conversations or test an idea, but you should register before you take regular payments. Check current fees at bizfile.gov.sg.
So the real minimum to launch a software business is about US$21 a month plus a domain. If anyone tells you that you need a course, an agency or a S$3,000 budget before you start, be suspicious of what they're selling.
Eighteen things I got wrong, roughly in order of how much they cost me.
Everything in this chapter happened to me. I've written each one the same way: what I did, what it cost, and what you should do instead. Some of these are big strategic errors that cost me months. Some are small technical ones that cost an afternoon. All of them are avoidable.
My mistake 1
I built twenty things instead of selling one
What I did
Every time an idea excited me, I started a new project. Games, legal AI, support AI, video tools, shops, website builders. Each one got a few days of attention before the next shiny idea arrived.
What it cost
Months. Every project needs a domain, a design, a launch and, most importantly, marketing. I kept paying the starting cost twenty times and never got to the part where things compound.
Do this instead
Pick one idea and give it thirty days of selling before you are allowed to start another. Keep a "later" list for new ideas so they don't feel lost. Chapter 12 gives you the thirty-day plan.
My mistake 2
I built the whole product before anyone agreed to pay
What I did
Cortex Law AI, Clarix, Nuro and the Webcove website builder all had sign-up flows, dashboards, settings pages and pricing tables. I never showed any of them to a potential customer before building.
What it cost
Weeks of work on features that nobody had asked for, and products with zero users.
Do this instead
Before you build anything, talk to ten people who have the problem and ask the questions in Step 2 of Chapter 9. Try to get one of them to pay, or at least put down a deposit, before you write any code. A "yes, I'd use that" is worth nothing. A payment is worth everything.
My mistake 3
My early websites screamed "AI made this"
What I did
I typed "build me a landing page for a legal AI" and accepted what came back: a dark background, a purple-to-orange gradient headline, a pill badge, two rounded buttons and a vague promise. You can see it in Chapter 7.
What it cost
Trust. People have seen that exact look thousands of times now. It tells them nobody cared enough to make a decision, so they don't trust you with their money.
Do this instead
Install a design skill such as Taste Skill or Impeccable before you build any page, and give the AI a real brief (Chapter 6). Chapter 7 shows the before and after.
My mistake 4
I assumed a problem existed without checking
What I did
With Prismstatic I built nine full websites for shops that had no website, assuming they needed one. I spent two days building before I tested whether they wanted it or whether I could even reach them.
What it cost
When I looked properly, I found that of about 17,700 Singapore businesses listed in OpenStreetMap, only 42 had a public email address. Most of the shops I'd built for had no email at all. And many of them didn't have a website by choice: they already ran on Instagram, Google Business Profile, booking apps and delivery platforms. "You need a website" was often simply not true for them.
Do this instead
Before you build for a type of customer, check two things. Do they actually feel the problem? Ask five of them. And can you reach them? Count how many you can actually contact. If either answer is weak, change the idea before you build.
My mistake 5
I went looking for a business that needs no marketing
What I did
I spent a whole day researching niches where customers would "just find me": Shopify app store gaps, an EU tax tool, and similar. I wanted the shortcut.
What it cost
Every lead was a dead end. The top spots in the Shopify App Store are paid ads, and organic ranking takes years of reviews. The EU tax tool I was excited about already existed: someone had launched almost the same thing two months earlier and had one review, a one-star one.
Do this instead
Accept that every business needs one of three things: money (to buy customers or an existing business), marketing (to attract them) or your own time (to go and find them). At the start you have time. Spend it on outreach.
My mistake 6
I ran Google Ads without conversion tracking
What I did
I set up a search campaign, people clicked, and then I asked: why didn't anyone sign up? I couldn't answer, because I had never told Google what a "sign-up" was.
What it cost
I paid for clicks with no way to know which keyword, ad or page produced a customer. Google's automatic bidding also had nothing to learn from.
Do this instead
Set up conversion tracking before you spend a single dollar. Chapter 10 walks you through it click by click.
My mistake 7
I used my old personal Gmail for business accounts
What I did
I tried to create a Google Ads manager account on the personal Gmail I had used for ads before. It failed with errors I couldn't fix, because the old ad account couldn't be converted.
What it cost
An afternoon of confusion and a setup I had to redo.
Do this instead
Create one fresh email just for your business on day one, ideally on your own domain (you@yourbusiness.com). Use it for every business account: Google Ads, Stripe, Vercel, social media. It also looks far more trustworthy to customers.
My mistake 8
I chose tools before checking their price
What I did
For Kapwy I planned the whole social-media integration around Ayrshare, then found that the plan I needed cost US$299 to US$599 a month.
What it cost
Time spent building around a tool I could never afford at launch. I switched to Post for Me, which does what I needed for about US$10 a month.
Do this instead
Before you build around any service, open its pricing page and find the plan you'd actually need. Ask the AI: "What are the three cheapest alternatives to this, and what are their limits?"
My mistake 9
I used the wrong platform and the wrong plan
What I did
My first TikTok product videos were made on a different video platform from the one I was paying for, and on a starter plan where the features I needed were locked behind a "requires plus plan" error.
What it cost
Credits spent in the wrong place and videos I had to redo.
Do this instead
Write down which tool you use for each job and tell your AI assistant in its memory (Chapter 5). Check which features your plan includes before you start a job.
My mistake 10
I launched with an empty account balance
What I did
Kapwy generates videos through fal.ai, which charges per video. I launched with a balance of zero.
What it cost
The very first renders were refused. If a real customer had been trying it, their first experience would have been an error.
Do this instead
Before launch, list every paid service your product calls. Top up each one, turn on low-balance alerts, and run one complete real test as a customer would.
My mistake 11
I made videos nobody watched past the first second
What I did
My first Instagram reels were an AI presenter talking to the camera about my products.
What it cost
94.9% of viewers swiped away within three seconds. The average watch time was 1.5 seconds.
Do this instead
Put a hook on screen from the very first frame, in big text. Show the real thing (screen recordings of your actual site, your actual product in your hand). Add a progress bar so people know it's short, and end on something that loops back to the start.
My mistake 12
I didn't check AI output before publishing
What I did
Some AI-generated product videos came back with the characters speaking Mandarin or Malay instead of English, or with burned-in subtitles I hadn't asked for.
What it cost
Wasted credits and nearly posting videos my customers couldn't understand.
Do this instead
Watch, read or test everything the AI makes before it reaches a customer. For video, put "ENGLISH LANGUAGE DIALOGUE ONLY" at the start of the prompt and always listen to the result.
My mistake 13
I got my own pricing wrong
What I did
In Kapwy's credit system, one video model was priced lower than it really cost me (the real cost was US$0.10 per second of video).
What it cost
Every video made on that model would have lost money.
Do this instead
For every action a customer can take, write down what it costs you, including payment fees, and make sure the price covers it with a margin. Aim for at least 50–60%. Recheck whenever a supplier changes prices.
My mistake 14
My server and my database were on different continents
What I did
Kapwy's database was in Singapore but its server code was running in the United States, which is the default.
What it cost
Every page took about two seconds to load, because each request crossed the Pacific several times.
Do this instead
Put your server code in the same region as your database, and both near your customers. On Vercel this is one setting (Singapore is sin1).
My mistake 15
I moved a live website without protecting its Google rankings
What I did
RES Engineering's old site was built on Sitelio. I pointed the domain at a brand-new site with rewritten pages and new addresses for those pages.
What it cost
Their traffic from Google dropped. For a business that gets clients through search, that is lost customers.
Do this instead
Before you replace a site, list every old page address. Keep the same addresses where you can, and set up a "301 redirect" from every old address to its new one. Keep the important words and headings. Submit the new sitemap in Google Search Console the same day, and watch it for a month.
My mistake 16
My cold emails had messy links
What I did
I pasted bare website addresses into my pitch emails, sometimes two or three of them.
What it cost
Gmail turned them into long, ugly google.com/url?q=… redirect links that looked like spam.
Do this instead
Put exactly one link in a cold email, written as clean link text (for example "xin-lai-lai.vercel.app"). If you need to mention a second page, say "same link, just add /bookings on the end".
My mistake 17
I gave the AI vague instructions and repeated myself
What I did
I asked for things like "make a reel" and then corrected the AI five times: wrong tool, wrong style, wrong voice, wrong host. Next session I'd have to correct it all over again.
What it cost
Hours, and credits spent on attempts I threw away.
Do this instead
Write a full brief the first time (Chapter 6) and save your standing preferences in memory or a skill, so the AI knows them every time (Chapter 5).
My mistake 18
I was careless with folders and secret keys
What I did
My whole home folder had accidentally become a git repository, so a careless "save everything" command in a new project could have tried to commit my entire computer. And early on, I sometimes pasted API keys straight into a chat.
What it cost
Nothing, luckily. But a leaked payment or AI key can cost thousands of dollars overnight.
Do this instead
Give every project its own folder and its own repository. Keep keys in a file called .env.local that is never uploaded, and never paste a key into a chat, a screenshot or your website's code. If a key leaks, delete it on the provider's site immediately and make a new one.
Read that list again in a month. You'll find you're about to make at least one of them. I still do.
Tools, prompts, skills, design and trust. The things that separate a hobby project from a business people pay.
Chapter 4
The toolkit, with every link
Every tool I use, what it is for, what it costs, and when you need it.
You do not need all of these on day one. The "When" column tells you which step in Chapter 9 first needs each tool. Don't sign up for something until you get there.
Claude that can work on files on your computer: it writes, runs and fixes your website's code. Available in the Claude desktop app and in the terminal.
The most useful idea in this book for getting good work out of AI, and the one most beginners have never heard of.
For my first month I thought the only way to get better results from AI was to write better prompts. I wrote longer and longer messages and still got the same generic websites. Then I installed my first skill, and the very next page I built looked like it came from a design studio. I hadn't changed how I wrote a single word.
The difference, in one picture
Imagine you hire a chef. A prompt is the order you give tonight: "Grilled fish, no chilli, for four people at eight." A skill is the culinary training the chef walked in with: how to season, how hot the pan should be, what never to serve together. Memory is the note on the fridge: "This customer is allergic to peanuts."
You can write the best order in the world, but if the chef has no training, dinner will be average. And a trained chef with a vague order ("make food") will cook something good, but not what you wanted. You need both.
Prompt
Skill
Memory / project notes
What it is
Your message for this task
A packaged set of expert instructions (a SKILL.md file, sometimes with examples or scripts)
Facts about you and your project
How long it lasts
One conversation
Permanently, every project
Permanently, for that project or for you
Who writes it
You, every time
Usually an expert; you install it once
You, or the AI on your request
Good for
What you want right now: goal, audience, constraints
How the work should be done: design taste, writing style, a process
Your preferences: "always use Artlist", "deploy after every change"
Example
"Build a booking page for my barber shop, in Geylang, open 10am to 9pm"
Taste Skill: never purple gradients, commit to a type system, vary layouts
"My brand colours are #9B2C1C and #1C1A16"
Why skills matter so much
An AI model has seen millions of websites. When you ask it for "a landing page", it produces the average of all of them. The average landing page in 2026 is a dark background, a gradient headline, three feature cards with emoji icons and a "Get Started" button. That's why so many AI-built sites look identical.
A good skill is a set of opinions written by someone with taste. It tells the AI which defaults to avoid and what to do instead. It does this every time, without you having to remember to ask. Your prompt describes what you want. The skill controls how well it's done.
Taste Skill, the one I'd install first
Taste Skill by Leonxlnx is an open-source "anti-slop" skill for landing pages, portfolios and redesigns. It works with three dials you can turn in your prompt: design variance (how experimental the layout is, from 1 to 10), motion (how much animation) and visual density (how much is packed on each screen). Its main skill is called design-taste-frontend.
To install it, open the Terminal app (on a Mac, press Command and Space and type "Terminal") and paste:
Then, when you start a page in Claude Code, mention it by name:
Use the design-taste-frontend skill. Design variance 7, motion 4, density 3.
Build the home page for [your business]. [Your full brief from Chapter 6.]
The other skills I use
Impeccable by Paul Bakaus. Gives the AI design vocabulary for typography, colour, spacing, motion and UX writing, plus commands such as audit and polish. Install: npx skills add https://github.com/pbakaus/impeccable --skill impeccable
Emil Kowalski's skills. For animation that feels right instead of random bounces and fades.
A skill is instructions that your AI will follow, and some include scripts. Only install skills from sources you trust, and read the SKILL.md file first. It's plain English and takes five minutes.
Memory: stop repeating yourself
Mistake 17 was correcting the AI about the same things in every session. The fix is memory. In Claude Code, each project can have a file called CLAUDE.md in its folder, and Claude reads it at the start of every session. You can also just say "remember that…" and Claude will save it. Put things in it like:
# About this project
- Business: Tan's Aircon Servicing, Singapore. Customers are HDB homeowners.
- Brand colours: #0F3B5F (navy), #F2B33D (amber). Fonts: Manrope + Source Serif.
- Never use purple gradients, emoji icons or stock photos of people in suits.
- Prices are in SGD and include GST.
- After every change: run the build, check the page on mobile width, then deploy.
When to make your own skill
When you notice yourself doing the same multi-step job again and again (writing a weekly newsletter in your voice, producing a product video, onboarding a client), turn it into a skill. Ask Claude: "Use the skill-creator skill to turn what we just did into a skill I can reuse." That's how a one-off task becomes a repeatable part of your business.
A brief you can fill in for any task, side-by-side examples, and a library of prompts for every stage of your launch.
Think of the AI as a very fast, very capable freelancer who has never met you, has never heard of your business and can't read your mind. Everything you leave out, it will guess. And its guesses are always the most average possible answer.
The seven-part brief
For anything that matters, write these seven things. It feels slow the first time. It's much faster than correcting the result five times.
Context. Who you are and what the business is. One or two sentences.
Goal. What this piece of work must achieve. "Get barbershop customers to book online" is a goal; "make a website" is not.
Audience. Who will see it, and what they care about. Be specific: "Aunties and uncles in Toa Payoh, mostly on phones, who don't trust websites."
Must include. The facts: real prices, address, opening hours, the actual menu. AI will invent facts if you don't give them.
Constraints. What to avoid and what's fixed: colours, fonts, words you never use, tools, budget.
Reference. An example of what good looks like: a website you admire, a screenshot, a competitor.
Done means. How you'll judge it. "Works on a phone, loads in under two seconds, the booking form sends me an email."
Then add one sentence at the end that changes everything: "Before you start, tell me your plan and ask me anything you're unsure about."
The same request, written two ways
Vague
make me a website for my bakery
Briefed
I run Sing Hon Loong, a 40-year-old bakery in Whampoa, Singapore. I want a website so office workers can see our menu and pre-order for collection. Most visitors will be on phones in their lunch break. Use our real menu and prices (pasted below) and our shopfront photo. Our sign is red and cream, so use those colours. No purple, no emoji, no stock photos. Use the design-taste-frontend skill. Done means: a menu page, a pre-order form that emails me, our address with a map link, and it works on a phone. Tell me your plan before you start.
The first prompt produces a generic bakery site with invented pastries and a stock photo of croissants. The second produces something the owner would recognise as theirs.
Ten rules I follow now
One job per message. "Build the page and set up payments and write the emails" gets you three half-done things.
Give real data. Paste the actual menu, the real prices, the real address. Never let it make up facts about a real business.
Say what to avoid. Negative instructions ("no gradients, no emoji, no fake testimonials") are some of the most powerful words in a prompt.
Show, don't describe. A screenshot of a site you like beats a paragraph of adjectives like "modern" and "clean".
Ask for the plan first. Catching a wrong assumption in the plan takes ten seconds. Catching it in the finished build takes an hour.
Describe bugs precisely. What you did, what you expected, what happened instead, and the exact error text.
Change one thing at a time. If you ask for six changes and something breaks, you won't know which one did it.
Ask it to check its own work. "Open the page at phone width and take a screenshot. Does anything overlap or look broken?"
Ask for options when you're unsure. "Give me three different directions for the headline, each for a different type of customer."
Save what you'll repeat. If you've typed it twice, put it in memory or a skill (Chapter 5).
The prompt library
Copy these, replace everything in square brackets, and use them at the step shown.
Finding and checking an idea (Step 1)
I have [skills, e.g. "I can build websites with AI and I know the F&B industry"] and
[time, e.g. "15 hours a week"]. I live in [city]. List ten problems that
businesses or people around me pay money to solve today, where I could sell
a solution within 30 days without building complex software. For each one:
who pays, roughly how much, how I'd reach the first ten customers, and the
biggest reason it might fail. Be blunt. Don't suggest anything that relies on
"going viral" or app-store discovery.
Preparing customer conversations (Step 2)
I want to test whether [type of customer] has the problem [problem]. Write me
eight interview questions that ask about their past behaviour, not their
opinions about my idea. No leading questions, and don't mention my product.
Then write a short, friendly message I can send to ask for 15 minutes of their
time, in a tone that suits [WhatsApp / LinkedIn / walking into the shop].
Writing the offer and price (Step 3)
Here are my notes from [number] customer conversations: [paste notes].
1. What is the problem they described most often, in their own words?
2. Write a one-sentence offer using their words, not mine.
3. Suggest a price using what they already pay for alternatives. Give me three
price points and what each would include.
4. What would make them say no? How do I answer each objection honestly?
Building the landing page (Step 4)
Use the design-taste-frontend skill. Design variance 6, motion 3, density 4.
Context: [business, one sentence].
Goal: visitors [book / buy / join the waitlist]. One main button only.
Audience: [who, on what device, what they care about].
Content: [paste the real headline, offer, price, FAQs, contact details].
Constraints: no purple or blue-violet gradients, no emoji icons, no fake stats
or testimonials, no stock photos of people. Brand colours [hex codes].
Must have: privacy policy and terms pages, contact details in the footer.
Done means: looks right at phone width, loads fast, the button works.
Tell me your plan before writing any code.
Getting a design critique (Step 5)
Use the impeccable skill to audit this page. Be harsh. List everything that
makes it look AI-generated or untrustworthy to a first-time visitor, ranked by
impact. Then fix the top five, one at a time, and show me a screenshot after
each fix.
Cold outreach message (Step 8)
Write a cold message to [name, business] on [channel]. I noticed [specific,
real detail about their business]. My offer is [offer] for [price]. Keep it
under 90 words, plain text, one link only written as [short link], no hype
words like "revolutionise" or "unlock". End with a simple yes/no question.
Write three versions with different opening lines.
Search ad copy (Chapter 10)
Write Google responsive search ad copy for [business] targeting people
searching [keywords]. Give me 15 headlines (max 30 characters each) and 4
descriptions (max 90 characters each). Include the price, the location and one
concrete proof point. No exclamation marks, no claims I can't prove.
Then list 20 negative keywords I should add so I don't pay for the wrong searches.
Reporting a bug
Bug: on [page], when I [action], I expected [result] but [what happened].
It happens on [phone / desktop, browser]. The exact error is: [paste].
Find the cause before changing anything, explain it in one paragraph, then fix
it and show me it working.
What a "clearly AI-made" website looks like, why visitors don't trust it, and what changes when you use skills and a real brief.
Vibe coding means building software by describing what you want to an AI and accepting what comes back. It is how I build almost everything, and there is nothing wrong with it. The problem is vibe-coding without taste: typing a one-line request, getting the AI's average answer, and shipping it.
Here is what that looks like.
Vibe-codedFigure 7.1. A typical one-prompt landing page. I made this one for the book, but you've seen it a thousand times.
And here is one I actually shipped in June, before I knew any better.
My own early workFigure 7.2. Cortex Law AI, June 2026. Same gradient headline, same pill badge, same two buttons. Nobody could tell it apart from a thousand other AI tools.
The twelve tells
Once you learn these, you'll spot them everywhere. Each one on its own is small. Together they tell a visitor that nobody made any decisions.
Purple-to-pink or blue-to-purple gradients, especially on text.
Glowing blurred blobs in the background of a near-black page.
A pill-shaped badge above the headline: "🚀 Now powered by AI".
Emoji used as icons: ⚡ 🔒 🎯 ✨ 🚀.
Empty headlines: "Revolutionize", "Unlock the power", "Supercharge", "Take your business to the next level". They could be about any product.
Exactly three feature cards in a row, each with an icon, a two-word title and a sentence of filler.
Made-up statistics: "10K+ happy users, 99.9% uptime, 5★" on a product launched yesterday.
The same font everywhere, usually Inter, all in heavy bold.
Two rounded buttons side by side: "Get Started" and "Learn More".
Everything centred, in a symmetrical layout with no hierarchy.
Glass cards (frosted, semi-transparent panels) on top of gradients.
No real people, places, prices or proof anywhere on the page.
What professional looks like
Here are three of my own sites built later, with design skills installed and a proper brief. Same AI, same person. The difference is the skill and the brief.
ProfessionalFigure 7.3. Kapwy (kapwy.com). The headline says exactly what the product does in six words. One typeface with real character, a restrained palette, and imagery that comes from the idea (a film set), not from a template.
ProfessionalFigure 7.4. LinkPalo. A single accent colour, a real example in the phone, and "Free forever. No card required." right under the button.ProfessionalFigure 7.5. DoctorMySite. It shows a real sample of the result (a scored report with specific findings) instead of describing it with adjectives.
What actually changed
Vibe-coded
Headline could describe any product.
Colour chosen by default.
Icons and emoji instead of the real thing.
Fake numbers.
Two buttons, both vague.
Professional
Headline says what you get, in the customer's language.
A small palette chosen on purpose, with one accent colour.
Shows the actual product, report or result.
Honest reassurance ("no card required") instead of invented stats.
One clear action, named after what happens next ("Scan my site").
How to get from one to the other
Install Taste Skill and Impeccable (Chapter 5).
Write the brief (Chapter 6) with your real content, real photos and real prices before asking for any design.
Choose two fonts yourself on Google Fonts, or ask the AI for three pairings and pick one. Avoid using Inter for everything.
Take your colours from something real: your logo, your shopfront sign, your product packaging. Never let the AI invent a palette.
Ban the twelve tells in your prompt, by name.
When it's built, run the Impeccable audit prompt from Chapter 6 and fix the top five issues.
Look at it on your phone. Most of your customers will.
Why a stranger hands over their card number, and the checklist I use on every site.
A first-time visitor decides within a few seconds whether you are a real business. They are not judging your code. They are looking for evidence that there is a real, careful person behind the page who will still be there if something goes wrong. Good design is one piece of that evidence. Here are the others.
The trust checklist
Identity: are you real?
Your own domain name, never something.vercel.app once you are selling.
An email address on that domain (hello@yourbusiness.com), not a random Gmail.
A real name, and ideally a real face, on an About page.
A physical location or at least a country. In Singapore, your UEN (business registration number) in the footer once you're registered.
Specifics: do you know what you're doing?
Real prices on the page. Hidden prices make people assume you're expensive or hiding something.
Real photos of your product, your shop, or screenshots of your software.
Specific details only a real business would know: the actual menu, opening hours, how long delivery takes.
Proof: has anyone else trusted you?
Real testimonials with names (and permission). If you don't have any yet, show nothing. Never invent them. Fake reviews destroy trust when spotted, and in many countries they're illegal.
"Used by" logos only when it's true.
A sample of the result: a demo, a before-and-after, a sample report.
Safety: what if it goes wrong?
A privacy policy and terms of service, linked in the footer. Claude can draft these for you; in Singapore, mention the PDPA.
A clear refund or cancellation policy.
Payments through a known provider (Stripe), never your bank details on the page.
A way to contact a human: email, WhatsApp, phone. And reply within a day.
Quality: does it work?
Loads in under about two seconds on a phone (Mistake 14).
No spelling mistakes, no placeholder text ("Lorem ipsum", "Your Company"), no broken links.
Forms that actually send, tested by you on launch day.
Every invented number on your homepage is a lie a customer might catch. One caught lie undoes all the good design in the world.
Trust also builds outside your website. A Google Business Profile with photos and reviews, an Instagram account with real posts, and a quick, polite reply to the first message someone sends you all count. At the start, you are the brand. Be easy to reach and quick to help.
Twelve steps, in order, from no idea to your first paying customer.
Chapter 9
Twelve steps to your first sale
The exact order I'd follow if I started again tomorrow. Every step ends with a test that tells you when it's done.
Do not skip steps, and do not reorder them. The order is the whole point. Notice that you don't build anything until Step 4, and you don't spend real money on marketing until after Step 9.
1
Choose a problem, not an idea
An idea is "an AI app for restaurants". A problem is "restaurant owners in my area miss phone bookings during the dinner rush and lose tables". Start from problems.
How to do it:
Write down three groups of people you understand: your industry, your hobby, your neighbourhood, your parents' business.
For each group, list the annoying, expensive or time-wasting things they complain about. If you're not sure, go and ask, or read their reviews, forums and Facebook groups.
Use the "Finding and checking an idea" prompt from Chapter 6 to widen the list.
Score each problem from 1 to 5 on: how painful it is, whether they already pay to solve it, and whether you can reach them. Choose the highest total.
The best first businesses are boring. Services for local businesses, tools that save a specific person a specific hour each week, products for a hobby you know deeply. Avoid anything that only works if millions of people use it.
Done when you can finish this sentence: "[Specific people] struggle with [specific problem] and currently deal with it by [what they do now]."
2
Talk to ten people who have the problem
This is the step I skipped for three months. It's the most important one in the book.
Make a list of twenty people who fit your description. Friends of friends, LinkedIn, local shops you can walk into, Facebook groups, Reddit communities.
Send them a short message asking for fifteen minutes to learn about how they handle the problem. Not to sell. Use the prompt in Chapter 6.
In each conversation ask about the past, not the future. Good questions: "When did this last happen?", "What did you do about it?", "What did that cost you?", "What have you tried?". Bad questions: "Would you use an app that…?" (people are polite and say yes).
Write notes straight after each call, using their exact words.
The signal to look for
You're looking for people who are already spending money or time on a bad solution. If nobody has tried to fix it, it probably isn't painful enough to pay for.
Done when you've had at least ten conversations and at least five people described the problem without you prompting them.
3
Write the offer and pre-sell it
Paste your notes into the "Writing the offer and price" prompt from Chapter 6.
Write your offer in one sentence, using your customers' words: "We answer your customer emails within 60 seconds, 24 hours a day, for S$150 a month."
Set a price based on what they already pay for alternatives, not on what feels comfortable to you. Beginners almost always charge too little.
Go back to the people who had the problem worst and ask them to pay now, or put down a deposit, for the first version. Offer a founding-customer discount in exchange.
If nobody will pay before it exists, find out why. That answer is worth more than anything you could build.
Done when at least one person has paid, put down a deposit or signed something. If you reach thirty conversations with no one willing, go back to Step 1 with what you learned.
4
Build the smallest version that delivers the result
Now you build, but only what the paying customer needs. Often that's a landing page plus you doing the work by hand behind the scenes. That's fine. My aircon auto-responder could have started as me replying to emails using Claude manually.
Setting up your computer (once):
Install the Claude desktop app and sign in. Claude Code is the "Code" tab.
Ask Claude Code: "Deploy this to Vercel." It will run the commands and give you a link ending in .vercel.app.
Buy your domain at Cloudflare or Namecheap. Short, easy to spell, and .com if you can get it (or your country's ending, like .sg).
In Vercel, open your project, go to Settings, then Domains, and add your domain. Vercel shows you two records to copy into your domain provider's DNS settings. Claude can walk you through this screen by screen if you get stuck.
If your database is in a particular region, set your Vercel functions to the same region (Mistake 14).
Done when typing your domain into a phone browser shows your site with a padlock (https).
7
Make it possible to pay you
Create a Stripe account with your business email, and complete verification.
The simplest start: in Stripe, create a Payment Link for your product. No code is needed. Put that link on your main button.
For subscriptions, accounts or credits, ask Claude Code to add Stripe Checkout with a webhook. Build it in Stripe's test mode first and buy from yourself with Stripe's test card.
Before switching to live mode, list every paid service your product uses and top them up (Mistake 10). Check your price covers your costs (Mistake 13).
Make one real purchase yourself in live mode, then refund it.
Done when you've completed a real payment end to end and received the confirmation email.
8
Get your first ten customers by hand
Your first customers will not come from ads or Google. They will come from you, personally, asking.
Go back to everyone from Step 2. Tell them it's live. Offer the founding price.
Make a list of fifty more people or businesses who fit. Use the cold-message prompt from Chapter 6. Personalise every single one with a real detail.
Send ten a day. Follow up once after three days. Most replies come from the follow-up.
Post where your customers already gather: the Facebook group, the subreddit, the WhatsApp community. Share something useful first, and mention your offer second.
Decide what counts as a conversion: a purchase, a booking, a sign-up. Set it up as a conversion event (Chapter 10 shows how).
Each week, write down four numbers: visitors, conversions, revenue and where the customers came from.
Done when you can say what percentage of visitors buy, and which channel brings the buyers.
11
Only now, test paid ads
Ads multiply what already works. If your page doesn't convert visitors you bring yourself, ads will just help you lose money faster. Once you've got real sales, follow Chapter 10 and start with a small test.
Done when you know your cost per customer from ads and whether it's lower than what a customer pays you.
12
Make it official and keep going
Register the business. In Singapore that's a sole proprietorship or a company through Bizfile.
Open a separate bank account for the business, and keep every receipt.
Put your UEN on your website footer and invoices.
Repeat Steps 8 to 11 every week. Improve the one number that's weakest.
What I'd do differently with my first campaign, click by click.
Google Ads can be the best channel there is for a small business, because it reaches people at the moment they are searching for what you sell. It is also designed so that a beginner spends more than they need to. The default settings work in Google's favour. Here is how to set it up in yours.
Before you start
Only run ads once you've completed Step 10 in Chapter 9: you have real sales and you know your page converts. Ads amplify a page that works. They don't fix one that doesn't.
1. Create the account properly
Use your business email, not an old personal Gmail that has had ads before (Mistake 7).
Go to ads.google.com. Google will push you into a simplified "Smart" campaign. Look for the small link that says Switch to Expert Mode and click it.
On the next screen, choose Create an account without a campaign. Confirm your country, time zone and currency carefully. You can't change these later.
2. Set up conversion tracking first
This was my biggest Google Ads mistake. Without it, you pay for clicks and have no idea which of them became customers.
In Google Ads, go to Goals, then Conversions, then Summary, then New conversion action, and choose Website.
Enter your domain. Choose the action that matters: a purchase, a booking or a sign-up.
Google gives you a tag (a small piece of code). Paste it into Claude Code and say: "Install this Google tag on every page, and fire this conversion event on the thank-you page after a successful [purchase / booking]."
Test it. Make a real conversion yourself, then check that the conversion action changes from "Inactive" to "Recording" within a day.
3. Build a tight search campaign
Create a new campaign. Choose the goal Sales or Leads, then the campaign type Search. Not Performance Max, not Display. Search is the easiest to control and understand.
Networks: untick Google Search Partners and untick Google Display Network. Both are on by default and both tend to bring low-quality clicks for a beginner.
Locations: choose only where your customers actually are. Then open Location options and choose Presence: people in or regularly in your included locations. The default also includes people merely "interested in" the place, who may be on the other side of the world.
Bidding: start with Maximize clicks with a maximum cost-per-click limit set, or Manual CPC. Switch to conversion-based bidding only once you have about 30 conversions recorded. Smart bidding needs data to learn from.
Budget: pick a daily amount you'd be fine losing completely for two weeks. S$10 to S$15 a day is enough for a local test.
4. Choose keywords like a customer
Pick 10 to 20 keywords that someone ready to buy would type: "aircon servicing toa payoh", not "aircon".
Use phrase match (wrap the keyword in quotes: "aircon servicing") or exact match (square brackets: [aircon servicing toa payoh]). Avoid broad match at the start; it lets Google show your ad for loosely related searches.
Add negative keywords from day one so you don't pay for searches like: free, jobs, salary, course, how to, DIY, second hand, and competitor names you don't want.
5. Write ads that match the page
Use the search ad copy prompt from Chapter 6.
Put the price, the location and one concrete proof point in the headlines. Specific beats clever.
The page the ad links to must say the same thing as the ad. If the ad says "From S$45", the page must show S$45 above the fold.
6. Turn off the settings that spend for you
Go to Recommendations, then Auto-apply, and switch off auto-applied recommendations. Otherwise Google can change your keywords, bids and ads without asking.
Treat every recommendation as a suggestion. Many of them increase your spend.
7. Check it every few days
Open Insights and reports, then Search terms. This shows the exact words people typed before clicking. Add anything irrelevant as a negative keyword.
After two weeks, look at cost per conversion. If a keyword has spent more than one customer is worth and produced nothing, pause it.
If you get clicks but no conversions, the problem is usually the page or the offer, not the ad. Go back to Chapters 7 and 8.
I avoided some of these by luck. You can avoid them on purpose.
Chapter 3 was my list. This one is the list I hear from other first-time founders, and see in the businesses I've built websites for. If you recognise yourself in three or more, slow down and go back to Chapter 9.
Before launch
Selling to "everyone". A product for everyone is a product for no one. "Busy parents" is not a customer. "Parents in Punggol with kids in primary school who need weekday tuition" is.
Asking friends and family for validation. They love you and they'll say it's great. Talk to strangers who have the problem.
Waiting until it's perfect. Your first version should embarrass you a little. If it doesn't, you launched too late.
Copying a big company's model. Free plans, freemium and "we'll monetise later" only work with millions of users and investors. You need revenue from customer one.
Charging too little. Low prices attract the most demanding customers and leave no money to grow. It's easier to give a discount than to raise a price.
Buying courses instead of doing the work. Everything you need to start is free or in this book. The skill comes from doing Step 2, not from watching someone talk about it.
Spending on a logo, business cards and an office first. None of that gets you a customer. Do it after the first ten.
During launch
Launching to silence. "If I build it, they will come" is false. Plan where your first hundred visitors come from before launch day.
Watching vanity metrics. Followers, likes and page views feel good. Paying customers and repeat customers are what matter.
Not collecting emails. Most visitors won't buy on the first visit. If you don't capture an email, they're gone forever. (That's why this book asks for yours.)
Putting secret keys in the website code. Anything in your front-end code can be read by anyone. Keys belong on the server only (Mistake 18).
No backups and no version history. Use GitHub from the first day so you can always undo.
Faking social proof. Fake reviews, fake user counts and fake "as seen in" logos. One customer noticing is enough to lose all of them.
After launch
Giving up after two weeks. Most first sales take longer than you expect. Give one idea a fair thirty-day test with real outreach before judging it.
Adding features instead of customers. When sales are slow, the urge is to build more. Usually the answer is to talk to more people.
Ignoring the boring admin. Not registering, mixing personal and business money, no receipts. It's painless early and very painful later.
Trusting AI output blindly. AI is confident even when it's wrong: invented facts, outdated prices, broken code that looks fine. Check everything that reaches a customer (Mistake 12).
Burning out. Building at 3am every night feels productive and isn't sustainable. Set working hours. The business has to outlast your enthusiasm.
A day-by-day plan and a checklist you can tick off on this page. Your ticks are saved in this browser.
Thirty days is long enough to find out whether an idea has legs and short enough that you won't waste a season on one that doesn't. Commit to one idea for the whole thirty days (Mistake 1).
Days
Focus
What you do
Spend
1–2
Problem
Step 1. Three groups, list problems, score them, pick one.
US$20 (Claude Pro)
3–9
Conversations
Step 2. Twenty people contacted, ten conversations, notes in their words.
—
10–12
Offer
Step 3. One-sentence offer, price, ask for pre-payment.
When I started, I believed the hard part was building. I spent five months getting very good at it. AI did most of the heavy lifting, and it will do the same for you. You can have a professional-looking, working product live on your own domain in a weekend.
What AI can't do is send the message to the twentieth person after nineteen didn't reply. It can't sit across from a shop owner and listen. It can't decide to keep going on day twenty-three when nobody has paid yet. That part is yours, and it's the part that turns a project into a business.
Do the steps in order. Talk to people before you build. Use skills so your work looks like someone cared. Don't spend until a step tells you to. Check everything the AI hands you. And when you make a mistake I didn't list, write it down, because someone else is about to make it too.
If this book helped, send the link to one person who's been saying "I want to start something" for too long. And when you get your first sale, reply to my email and tell me about it. I read every one.
Veldan Lee Singapore, October 2026
Back matter
Glossary of every term
If a word in this book confused you, it should be here.
API
A way for one piece of software to talk to another. When your website asks Claude to write a reply, it uses Anthropic's API.
API key
A secret password that lets your code use a paid service. Anyone who has it can spend your money. Never share it.
Claude Code
A version of Claude that works directly with the files on your computer: it writes code, runs it, finds errors and fixes them.
CLAUDE.md
A text file in your project folder that Claude Code reads at the start of every session. Your standing instructions.
Cold outreach
Contacting someone who doesn't know you yet to offer your product.
Conversion
The action you want a visitor to take: buying, booking, signing up. Conversion rate is the percentage of visitors who do it.
CPC
Cost per click. What you pay Google each time someone clicks your ad.
Deploy
Putting your website on the internet so other people can visit it.
DNS
The internet's address book. DNS records tell browsers which server your domain name points to.
Domain
Your website's name, like kapwy.com. You rent it yearly from a registrar.
.env.local
A file where your project keeps its secret keys. It's never uploaded to GitHub or the website.
Front end
The part of your website that runs in the visitor's browser. Anyone can read its code.
Git / GitHub
Git keeps the history of every change to your code. GitHub stores that history online.
Landing page
A single page designed to get visitors to take one action.
Memory
Facts and preferences Claude saves and remembers in later conversations.
Negative keyword
A word that stops your Google ad showing. Adding "free" means you won't pay for people searching for free versions.
Prompt
The message you give an AI for a specific task.
Redirect (301)
An instruction that sends visitors and Google from an old page address to a new one permanently, keeping your search ranking.
Region
The physical location of the computers running your code or database. Closer to your customers is faster.
Repository (repo)
A project folder tracked by git.
Server / back end
The part of your app that runs on a computer you control, where secret keys and customer data are safe.
Skill
A packaged set of expert instructions that an AI loads to do a type of task well, every time. Installed once, used forever.
Sitemap
A file listing every page on your site, so Google can find them.
Stripe Payment Link
A ready-made checkout page from Stripe. Share the link and people can pay, with no code needed.
UEN
Unique Entity Number. Your business registration number in Singapore.
Validation
Evidence that people want what you're selling. The strongest evidence is payment.
Vibe coding
Building software by describing what you want to an AI rather than writing code yourself.
Webhook
A message one service sends to your server when something happens, like Stripe telling you a payment succeeded.