Case studies / VibeMA

From prototype to product, at a quarter the cost

70–80%

Lower cost per audit, from $10–20 to $3–4

5–6 min

Full audit from a URL and five questions

5

Branded reports per run, identical every time

TL;DR

VibeMA was a Lovable prototype: broken PDFs, all audit logic in Supabase Edge Functions, and infrastructure the founder could not reach.

We moved it to a NestJS monorepo on its own GCP project with an independent Supabase, a parallel Claude agent pipeline and PDFs assembled in code.

Cost per audit fell 70 to 80%, from $10–20 to $3–4, with full audits in five to six minutes.

A company types in its web address and answers five questions. Minutes later, VibeMA returns branded reports on its competitors, where it loses visitors, whether search engines and AI assistants can find it, and how its ad creative performs. In March 2026 this was a vibe-coded Lovable prototype that could not ship. The rebuild moved it onto infrastructure the company controls, made the output deterministic, and cut the cost of an audit by roughly three quarters.

The challenges

The free audit is the front door to a funnel. The prototype proved the idea and could not be put in front of a customer.

Audit PDFs came back unreadable
Text overflowed the page, strings clipped mid-word and tables collapsed into prose.

Product logic ran inside the database
Audit generation ran inside Supabase Edge Functions: no backend server, no environment separation, no migrations and no rollback path.

Nobody had counted what an audit cost
Without cost per audit, the freemium model was a guess rather than a decision.

What we built

Solution 1

Getting the product out of the tool that owned it

We remixed the project to break the Lovable binding, re-pointed it at a repository in the company’s GitHub organisation, stood up an independent Supabase instance under the client’s account, replicated the schema and rewired the app. The result is a monorepo with three apps: a NestJS backend for orchestration, agents and document generation, the Vite front end carried forward from Lovable, and a migrations app. It deploys to the company’s own GCP project.
Solution 2

Four hand-written skills turned into a production pipeline

The founder’s four audit skills were Claude skills running through Gemini, so every prompt moved to Claude with effort tiers per run. Competitive positioning, conversion rate optimisation, an SEO and answer-engine audit, a creative audit and an executive summary run as parallel agents over server-sent events, streaming findings as each completes. End to end takes five to six minutes, against fifteen to twenty-five in sequence.
Solution 3

The model writes, the code lays out

The same audit produced clean tables on one run and prose on the next. Now generation returns structured content and the backend assembles the PDF: forced page breaks per section, real tables, overflow handled, branding on every page and per-agent attribution. Skills stay versioned in the repository, because a small prompt change can silently break table rendering downstream.
Solution 4

Making the free tier viable by measuring it

Measured, an audit cost roughly $10 to $20 on Opus against $3 to $4 on Sonnet. The lower number came from choosing the model tier per run, moving analysis and formatting onto deterministic code, and caching scrapes from a Firecrawl and Jina pool. At an illustrative thousand free audits a month, that is roughly $3,500 against $15,000.

“A free audit at ten to twenty dollars a run isn’t a business model. Islands measured it and got it to three or four.”
Founder and CEO, GrowTal

Conclusion

The company went from holding a prototype to holding a product it could hire against. Within six weeks of the rebuild starting it brought on its first CTO, who began issuing work from his own Linear board, which is only possible against a codebase with real structure, a migrations history and documented decisions.

Sitting on a prototype that cannot ship? Get in touch.

70–80%

Lower cost per audit, from $10–20 to $3–4

5–6 min

Full audit from a URL and five questions

5

Branded reports per run, identical every time

Repository: monorepo, three apps  |  Backend: NestJS  |  Front end: Vite, carried forward from the Lovable build
Database: independently owned Supabase instance with a dedicated migrations app  |  Hosting: the company’s own GCP project
Models: Claude throughout, migrated from Gemini, with low, medium and high effort tiers per run
Documents: PDF assembled in code, forced section breaks, real tables, per-agent attribution, five reports per run

FAQ

How do you take a Lovable prototype to production?
Break the Lovable binding, move the repository into the company’s own GitHub organisation, stand up a client-owned Supabase instance, replicate the schema, rewire the app, and move product logic into a real backend with migrations. More on where vibe coding collapses.

How do you make LLM-generated PDF reports render the same every run?
The model returns structured content, and the backend assembles the PDF with forced page breaks, real tables, overflow handling and branding.

How much does an AI marketing audit cost to run?
Measured on VibeMA, roughly $10 to $20 on Opus and $3 to $4 on Sonnet.

Why run the audit agents in parallel?
The user waits for the slowest agent instead of the sum of all of them: five to six minutes instead of fifteen to twenty-five, with findings streamed over server-sent events as they land.

About VibeMA
VibeMA is a self-serve marketing audit product, held by GrowTal as a product business deliberately separated from the agency services side.
Tags
Product & engineering, AI agents
Tech stack
NestJS
Supabase
Claude
Want similar results?
We build AI agents and software for teams ready to move faster.
Get in touch
contact image