Hamza Yerrou
Hamza Yerrou
Software Engineer
Index/Writing/Solo dev
2025 · 10 · 02 · 8 min read

Why I built StartupRoastAI in a weekend (and shipped it on Monday)

Notes from launching a side project that's now paying for its own infrastructure.

I had a specific frustration when I built it. I kept running into early-stage landing pages for products I was genuinely curious about, and the pages were confusing. Vague value propositions. Six paragraphs of founder voice before you understood what the thing actually did. Unclear who it was for.

The feedback options were bad: post in a community and wait two days for mixed takes, pay a UX consultant which most early-stage founders won't, or ask a friend who'll tell you it looks great because that's what friends do.

None of those are what I wanted. I wanted honest feedback, fast, specific enough to act on.

The build

Stack: Next.js, OpenAI API, Vercel. No database for v1. No user accounts. No session history. Enter URL, get roast, done.

The hard part was the prompt. I went through maybe fifteen iterations on Saturday, testing against landing pages I knew well and comparing output to what I'd actually say to someone. The gap was big early on. The model kept producing generic observations ("your value proposition could be clearer") instead of specific ones ("your hero headline 'Build for the future' tells me nothing about what you actually build").

What eventually worked: few-shot examples of good critiques, an explicit instruction to quote specific copy that isn't working and explain why it fails, and a constraint that every recommendation needs to be actionable in under two hours.

That last constraint changed the output more than anything else. Vague recommendations become concrete ones when you force specificity of effort.

The free-to-paid split

The core roast is free. Unlimited runs. Paid tier adds a detailed report: competitor comparison, Core Web Vitals check, prioritised fix list.

This wasn't a strategic business model decision. It was pragmatic: free means real people actually try it, which means I get real inputs to improve against. The paid tier covers API costs plus a bit more. If nobody paid I'd keep the free version anyway because the inputs are useful.

Shipping on Monday

Posted to a few communities that morning. Honest description of what it does and why I built it, no hype. By end of day: 26 users.

26 is a small number. But 26 strangers tried it on day one with no ad spend, no Product Hunt launch, no existing audience. That meant the problem was real. People had the frustration I had.

What happened after

The prompt has been through many more iterations. The model still gets things wrong occasionally, especially when a page scrapes poorly or the product is genuinely hard to categorise. I've built a correction flow for that.

The more interesting thing: the users who send the most detailed feedback have the best landing pages already. They know what good looks like and they're pushing the tool toward it. That feedback has been more useful than any A/B test I could have run.

The infrastructure is self-funding now. Small numbers, but growing.

On the weekend constraint

Building in a weekend isn't really about speed. It's about forced prioritisation.

When you have 48 hours you can't build anything you can't justify in one sentence. "Do I need user accounts for v1?" No. "Do I need a settings dashboard?" No. "Do I need the full paid-tier feature on launch day?" Ship the free version first, see if people use it, then build the paid version for the people who ask for more.

The constraint strips away everything that sounds good in planning and keeps only what's necessary for the thing to be useful. That's a design tool, not just a time limit.

The first version of anything useful is embarrassingly simple. Ship that version.

I look at the first version of StartupRoastAI now and it's genuinely embarrassing in places. The design was rough. The prompt wasn't as sharp. It shipped. That's why I have users to improve it for.

← Older
SEO for builders who hate marketing
Newer →
The case for boring tests in Cypress