I already wrote about why I started favURL and about the first five weeks. This post is the more practical follow-up: the actual stack, how the feature set grew, what I learned building all of it solo and how I have gone about marketing something with no ad budget.
The stack, in full
The stack has stayed close to what I started with, on purpose. I did not want to chase new tools while still learning how to use AI well to build with the ones I already had.
- Framework: Next.js 15 (App Router, edge runtime)
- Hosting: Cloudflare Pages, deployed via Wrangler
- Database: Supabase (Postgres + Storage)
- Auth: Supabase Auth, magic link and Google OAuth
- AI: Anthropic’s Claude API, reading reviews and writing every page
- Business data: Google Places API
- Payments: Stripe, subscriptions and webhooks
- Email: Resend, for welcome emails and page-ready notifications
- Styling: plain CSS with design tokens, no framework
Boring on purpose. A solo builder does not need novelty in the stack. The leverage came from how much of the actual building I could hand to AI once the stack itself stopped changing under me.
How the feature set grew
The first version did one thing: search a business, read its reviews, generate a page. Everything after that came from watching real people use it and noticing where the product stopped short. As of now that list looks like this:
- AI-generated landing pages structured into a hero, advantages, praised aspects, highlights, special touches and practical tips
- Photo captioning and galleries pulled from Google Places
- Claiming and ownership through email match or Google sign-in
- Full owner editing: inline text edits, drag-and-drop reordering, section hide and reorder and single-section AI regeneration
- A dashboard covering sites, analytics, billing and referrals
- Custom SEO controls per page with dynamic Open Graph images
- JSON-LD structured data
- A directory browsable by category and by city
- A blog and markdown twins of every public page
- Paid plans for businesses and agencies
- A referral program and an internal admin CRM for outreach
None of that was on a roadmap when I started. Each piece answered something a real user hit a wall on, which is a slower way to build a feature list but a much harder one to get wrong.

What I learned building it solo
The technical lesson was learning to describe problems at the size of a single decision instead of the size of a feature, so the AI could actually engineer instead of guess. The harder lesson was learning to review what came back instead of trusting it, because a generated page or a generated migration can look correct and still be wrong in a way you only find in production. Six months of that habit is the actual skill I built, more than any single part of the stack.
Marketing, the part nobody warns you about
I did not have a marketing budget, so most of what I built doubled as distribution. The blog and the markdown twin of every public page exist so AI answer engines can find and cite favURL directly, not just search crawlers. The directory, browsable by category and by city, exists so pages have somewhere to be discovered beyond the one link an owner shares. The referral program and the admin CRM exist because outreach to small businesses is slow and manual and I needed a system for it rather than a one-off effort.
None of that is a marketing strategy in the traditional sense. It is product work that happens to compound into visibility, which is the only kind of marketing a solo builder with no budget can actually sustain.
Where this leaves me
The stack did its job by staying still. The features grew because I kept listening instead of guessing ahead. The marketing worked, so far, because I built it into the product rather than bolting it on after. Six months in, that is the whole playbook and I plan to keep running it.
Write a comment