Zero day. Zero JS.
Zero hosting bill.
ZeroDirs.
The SEO-first directory boilerplate, built on Astro + Cloudflare. Launch directory websites that load instantly, rank on Google, and cost $0/month to run.
$79 for the first 50 · then $129 · 30-day refund
measured · brotli
illustrative
- Astro
- Cloudflare
- Stripe
- Tailwind CSS
Measured on the last full build of the demo directory
- 433
- pages from 145 listingsabout three for every listing you add — 211 written by the build, not by you
- 0KB
- JavaScript downloadedno bundle, no hydration, no framework in the browser
- $0/mo
- to keep it onlineCloudflare free plan — the dynamic parts run against a 100,000 requests/day allowance
- 0
- listings with fewer than two inbound linksturn on strictLinks and the build refuses to ship one
145 listings · 433 pages · 155 social images · cold build, no cache
The boring month
A directory is easy.
The business around it is not.
Listing pages take an afternoon. Then you spend a month on the parts nobody demos: the payment that must not double-charge, the queue that must not leak spam, the emails that must not vanish, the pages Google must actually find.
All of it is written, tested and running. You start at the interesting part.
- Submission form with validation, spam traps and rate limits6h
- Stripe Checkout plus an idempotent webhook that survives replays6h
- Admin queue, auth, approve/reject and featured expiry10h
- Transactional emails, templates and a retry outbox4h
- Programmatic SEO pages with thin-content guards8h
- Internal-link engine and an orphan-page report5h
- Build-time OG images with a content-hash cache5h
- Chunked sitemaps, RSS, robots and canonical rules4h
- Approve-to-live rebuild pipeline on Cloudflare5h
- Static search that stays fast at 10k listings4h
Estimates from building each piece · excludes design, content and debugging
Everything a directory needs to earn.
Static-first
Content pages ship zero client-side JavaScript.
Monetization built in
Paid submissions, featured listings, click analytics.
SEO engine
Programmatic pages, internal linking, structured data — all automated.
AI-agent native
AGENTS.md + skills. Works with Claude Code, Codex and Cursor.
Cloudflare all the way
Workers, D1, R2. No third-party services to babysit.
Going live shortly.
What you get
A repository, not a template.
120 source files, 12,462 lines, 384 passing tests. Structured so you and your coding agent can find anything, and documented so neither of you has to guess.
- src/config/One file changes your brand, categories, tiers, SEO and theme
- src/lib/Routing, SEO text, JSON-LD, pagination — pure, tested
- src/loaders/D1 over REST at build time, or plain Markdown files
- src/templates/Home, listing, category, tag, pSEO, blog
- src/components/34 components you will actually edit
- src/features/paid/pSEO generator, internal links, OG images
- src/server/Submissions, Stripe, admin auth, email, rebuild hooks
- src/pages/admin/Review queue, featured, stats — server-rendered forms
- integrations/Sitemap chunks, Pagefind index, file budget, SEO report
- tests/384 unit tests plus Playwright smoke specs
- seed/datasets/Three ready datasets: AI tools, indie tools, local business
- AGENTS.mdThe map your coding agent reads first
Submissions turn into pages. Automatically.
No CMS to log into, no files to commit. Approve, and the site rebuilds itself — all 433 pages in about 5 seconds.
- 01
Someone submits
Paid or free, straight into your queue.
- 02
You approve
One click in the admin.
- 03
It rebuilds
Deploy hook fires automatically.
- 04
It is live
Static, on the CDN, ~2 minutes.
Where it actually is
Half of it is built.
Here is exactly which half.
You are pre-ordering something unfinished, so you should see the line. Everything on the left runs today and produced the numbers above. Everything on the right lands by November 2026 — and if it does not, the refund is one email.
- Listing, category, tag and search pages
- Programmatic SEO generator and internal-link engine
- Chunked sitemaps, RSS, robots, canonical rules
- Build-time social images, one per listing
- Blog, legal pages, three colour themes
- Static search that stays fast at 10k listings
384 unit tests passing · type-checks clean
- Submission form, spam traps and rate limits
- Stripe Checkout and the fulfilment webhook
- Admin review queue and featured expiry
- Transactional emails with a retry outbox
- Approve-to-live rebuild pipeline
- CLI scaffolder and the documentation site
Shipped in the open · last commit 2026-09-07
One price.
Unlimited directories.
Competing directory starters run $47 to $149 and sit on a stack that bills you monthly. This one costs less than most and nothing to run.
first 50 buyers · one-time
- The full repository, today
- Paid submissions, Stripe, admin queue
- Programmatic SEO and internal links
- CLI, docs, three themes and three datasets
- v1 delivered November 2026, in the open
Stripe · repo access on payment
Questions
worth asking.
Anything else, email hi@zerodirs.com.
Why not just ask an AI to build me a directory?
Try it — you will get a listing grid in an afternoon. What you will not get is the part that makes money: an idempotent Stripe webhook that survives replays, a review queue that cannot be bypassed, emails that retry, and a build that refuses to ship an orphaned page. Those took weeks to get right, and an agent has no way to know it got them wrong. ZeroDirs gives your agent that foundation to extend instead of invent.
Why Astro instead of Next.js like everyone else?
Because a directory is a content site, and content sites should not ship a framework to the browser. Every listing page here is HTML on a CDN with no hydration, which is why the hosting bill is zero and the pages rank. The competing directory starters are all Next.js, so they all need a paid host to feel fast.
Is hosting really $0, or is that a launch offer?
It is the Cloudflare free plan, not a discount. Static assets are unmetered; the dynamic parts — submission form, Stripe webhook, admin — are a handful of Worker requests against a 100,000/day allowance. A directory doing serious traffic still costs nothing. You pay Stripe's cut on what you earn, and that is it.
What exactly lands in my repository?
120 source files, roughly 12,462 lines, 384 passing tests, three seed datasets, the CLI that scaffolds a new project, and the docs. You own the code and can build unlimited directories with it, including for clients.
It is not finished. What if you never ship v1?
Fair question for a pre-order. Two answers. The static core is already built — the numbers above come from a real build of 433 pages, and the demo site goes public shortly so you can inspect it yourself. And you get a 30-day refund, so the worst case costs you an email.
Can I use it for client work?
Yes. Unlimited projects, commercial use included, no per-site licence. You cannot resell the starter itself as a competing product.
Who is building this
I'm Jay Chung. I kept building directory sites for myself and kept rebuilding the same three things every time: the submission form, the Stripe webhook that must not double-charge, and the review queue. The third time I copied that code across, I stopped copying and turned it into a product.
ZeroDirs is what I wanted to exist when I started. I run it myself, I fix what annoys me, and you get every fix.
The build is public, commit by commit,@zerodirs. If it does not ship, you will see that happening in real time — which is more than most pre-orders offer.
Not ready? Get one email when it ships.
No drip campaign. One email.
The zero-cost directory boilerplate.
Astro + Cloudflare · $0/mo hosting · zero JS · monetization built in
30-day refund · Follow the build:@zerodirs