About

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.

Why I built this

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.

How it's built

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.

The tech stack

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)
What's next

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