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.
$59 for the first 10 seats · then $179 · 30-day refund
measured · brotli
illustrative
- Astro
- Cloudflare
- Stripe
- Tailwind CSS
Measured on the last full build of the demo directory
- 1file
- configures the whole sitesite.config.ts carries brand, routes, categories, tiers, SEO, pSEO and theme, and the build validates it
- 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
Built the same way on your data, whatever its size
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.
Live now.
What you get
A repository, not a template.
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 at build time: the local database on your machine, the real one on the builder
- src/templates/Home, listing, category, tag, pSEO, blog
- src/components/The components you will actually edit
- src/features/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/unit, workerd and Playwright suites
- 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 whole site rebuilds itself.
- 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.
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 10 seats · one-time
- Repository access the minute you pay
- Paid submissions, Stripe, admin queue
- Programmatic SEO and internal links
- Docs, three themes and three datasets
- Every future release, pulled with git
Stripe · connect GitHub · invited on the spot
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?
The whole repository: the site, the Worker behind the form and the admin, the tests, three seed datasets, and the docs. You own the code and can build unlimited directories with it, including for clients. Pay, connect the GitHub account you want on the next page, and the invitation to the private repository is sent that second — no username to type, no waiting for a human.
What does an update look like?
A git pull. The starter is a private repository you clone; every release lands there with a changelog, and no release edits your config, your content or your public folder. Migrations only add tables and columns, so an older deploy keeps working against a newer database.
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.
Every release is public, commit by commit, on @zerodirs — you see what changed before you pull it. Questions, before or after you buy, go in the Discord.
Community
Not ready?
Stay close.
The Discord is where release notes land first, where buyers show what they launched, and where a question about your own directory gets answered in the open — before or after you buy.
Prefer email? One message per release, nothing else.
No drip campaign. One email per release.
ZeroDirs
Discord · buyers, people deciding, and me
- Releases
- Every release note lands here first, with what changed and whether it is worth pulling.
- Questions
- Ask before you buy, or about the directory you are building. Answered in the open, so the next person finds it too.
- Launches
- What other buyers shipped on it, and how.
The zero-cost directory boilerplate.
Astro + Cloudflare · $0/mo hosting · zero JS · monetization built in
30-day refund · Release notes on @zerodirs