The Story
A personal project built to learn the Cloudflare stack and get hands-on experience with building a website end-to-end.
Personal project
Built to learn how to go through the steps of full website creation via cloudflare workers.
Full Cloudflare stack
Workers, Durable Objects, D1, KV, R2.
Open source
Both repos are public on GitHub.
CarLogoQuiz started as a personal learning project. My background is in backend development, and I wanted to get hands-on experience with the full Cloudflare stack such as Workers, Durable Objects, D1, KV, and R2.
A car logo quiz felt like the right scope: simple enough to finish, complex enough to learn from, and fun enough to share.
One of the bigger experiments has been seeing how far I can push Claude (Anthropic's AI) as a frontend collaborator. My domain is backend, so I've been leaning on Claude to help build and maintain the frontend web worker which is the Astro + Svelte layer you're looking at right now.
The project is split into two Cloudflare Workers that communicate via RPC through Service Bindings.
Frontend Worker
Astro (SSR + Static) with Svelte 5 interactive islands, styled with DaisyUI and Tailwind. Runs on Cloudflare Workers.
Backend Worker
TypeScript API with Durable Objects for stateful quiz sessions, D1 for brand data, KV for caching, and R2 for media.
Each quiz session runs in its own Durable Object with isolated SQLite storage which handles game state, scoring, lives, and progression. Brand data is served from D1 and cached in KV for fast lookups.
Frontend
- Astro (SSR + Static)
- Svelte 5 (Interactive Islands)
- DaisyUI + Tailwind CSS
- Cloudflare Workers
Backend
- Cloudflare Workers (TypeScript)
- Durable Objects (SQLite)
- D1 Database
- KV Namespace + R2 Bucket
Communication
- Workers RPC (Service Bindings)
- Type-safe method calls
- No HTTP between services
DevOps
- GitHub Actions (CI/CD)
- Wrangler (Deploy)
- Vitest (Testing)
This is an ongoing project. Some things I'm planning or exploring:
More brands
Expanding the brand database to include more regions, eras, and lesser-known manufacturers.
New game modes
Difficulty time challenges, account creation and leaderboard functionality
Deeper Cloudflare usage
Multiplayer and language support
Open to ideas
If you have suggestions for features, brands, or improvements feel free to email us or open an issue on GitHub.
Repositories & Links
Ready to Play?
Test your car logo knowledge — no sign up required.
COMING SOON