ChefJRP is an interview preparation platform for chefs going through Australia’s Job Ready Program. It sells access to gated content, takes payments through Dodo Payments, and has a custom admin for content, users and transactions. I built it solo and deployed it on Cloudflare Workers with D1.
Why the edge made sense
The audience is international: candidates prepare from many countries before moving to Australia. Workers run close to every user, so pages respond quickly wherever they are. For a niche product, the low cost at small scale also matters.
Hono for the API
Hono is a small web framework designed for edge runtimes. It feels like Express but starts instantly on Workers. Routes for content, checkout webhooks and the admin all live in one compact codebase.
D1 for data
D1 is Cloudflare’s SQLite-based database. For a content platform with users, purchases and articles, it is more than enough. The things to plan for:
- Keep queries simple and indexed, since this is SQLite, not a large Postgres cluster
- Use migrations from day one so schema changes are repeatable
- Treat the payment provider’s webhook as the source of truth for access
Instant access after payment
The most important flow is simple: a candidate pays and immediately sees the content. The webhook marks the purchase, the account gains access, and the admin shows the transaction. Making that path boring and reliable mattered more than any feature.
When I would not use this setup
If a product needs heavy background processing, complex reporting or very large relational data, a traditional backend with PostgreSQL is the better fit. Edge platforms shine for fast, read-heavy products with a global audience.
Need something similar? See cloud deployment or MVP development.