Roast My Website
An automated site roast that bills real money, built to answer the objection that kills a paid audit: nobody believes an audit is worth the price until they have seen one.
- What
- Own product, live and paid
- Role
- Design, build, operate and support
- Years
- 2026
- Stack
- Next.js, TypeScript, Supabase, Razorpay

What the problem was
The audit is the cheapest way into the studio and the hardest thing to sell, because it is the one product a buyer cannot inspect before paying. A website they can look at. A design system has a Figma file. An audit is a promise that a stranger will tell them something useful about their own site, and every agency on the internet makes that promise.
The objection is never "it costs too much". It is "for what, exactly?"
What was decided
Give the thing away in a form that proves the format without doing the work. Roast My Website runs the same pass a paid audit opens with, reading the page the way a buyer does, on a phone, cold, and returns it automatically, for $10 a pack.
The decision that shaped everything else: the moat is the knowledge base, not the model. Anyone can point a model at a URL. What makes a roast worth reading is the accumulated set of things that are actually wrong with small product sites, written down, versioned, and improved every time a real audit finds something the automated pass missed. The model is a renderer for that. Swap it next year and the product survives.
So the funnel runs one way, deliberately: free roast, then paid audit, then project. Every roast ends by naming what the automated pass cannot do, which is the part the audit charges for.
Billing runs through devsforfun ID rather than a direct Razorpay integration, because a one-person studio with seven products cannot maintain seven merchant relationships, and because the entitlement fan-out that tells Pixelform a roast pack was bought is the same mechanism that tells every other product.
Why it was hard
It had to bill real money, which is a different engineering problem from looking like it bills real money.
Neither Pixelform nor Roast My Website holds a Razorpay credential. Both are satellites of devsforfun ID, which is merchant of record: the satellite asks the hub to mint an order, the hub prices it from its own plan row and ignores whatever amount the satellite sends, and the browser gets back an order ID and a public key. A client-side price cannot be tampered with, because the client never states a price.
The second hard part is that the two products have to agree about money across a network boundary. A roast credit pack takes money off the audit, so the audit checkout has to ask Roast My Website whether a code is real. The distinction that took the longest to get right: an invalid code and an unreachable coupon service are different outcomes. Collapse them and you either tell a paying customer their earned discount is fake, or quietly charge full price during an outage. Codes are consumed once, after payment, enforced by a unique constraint rather than a check-then-act.
What it produced
A downloadable PDF a prospect can read in four minutes and keep, ending with a call to action for the paid audit, and a credit pack that takes money off that audit for anyone who bought one.
The honest framing: this is the top of the studio's own funnel, and it is on this site because it is the only thing here that has taken money from a stranger. It is not a client project and it is not a demo.
The same hands, on yours.
Start with the audit: 5 business days, $500, and it comes off the project if you book one.