ZeroDirs

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.

See it live

$59 for the first 10 seats · then $179 · 30-day refund

This page25 KB
document14
font.woff211
javascriptnone

measured · brotli

Typical SPA403 KB
document22
framework.js132
main.js96
page.js71
vendor.js58
hydrate.js24

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
Your weekends57h+

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 demoThe starter, as shipped.
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.

Yours to keep and modify Unlimited projects, client work included Lifetime updates
your-directory/
  • 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.

  1. 01

    Someone submits

    Paid or free, straight into your queue.

  2. 02

    You approve

    One click in the admin.

  3. 03

    It rebuilds

    Deploy hook fires automatically.

  4. 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.

Pay once, no subscription $0/mo hosting on Cloudflare's free plan30-day refund, no questions
Early bird
$59$179

first 10 seats · one-time

10 left
  • 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.
Join the Discord

The zero-cost directory boilerplate.

Astro + Cloudflare · $0/mo hosting · zero JS · monetization built in

30-day refund · Release notes on @zerodirs