Autoškola (Czech Driving Theory, in English)

Autoškola (Czech Driving Theory, in English)

Jul 2026 → Oct 2026

TL;DR

Self-initiated. I'm getting my Czech driving licence and was dissatisfied with the study tools on the market, and with what they charge for what you get - so I built my own: every official Ministry of Transport exam question in Czech and English side by side, with mock exams, a daily plan and spaced repetition. It now has accounts, a free tier and a paid 3-month Pass, and is in testing with real users.

Problem

The Czech theory exam is in Czech only - foreigners can bring a court interpreter, at roughly 3-4k CZK. The official question bank is public and free on the Ministry's site, but only in Czech, with no download and no way to track what you've learned. Study apps fill the gap, from 79-199 Kč one-off in-app purchases up to 899 Kč a quarter for the best-known Czech site, with English support ranging from none to a paid add-on. The questions themselves are open data, so the opening was never access - it was how well the studying works and what it costs.

Solution

The question bank: a scraper pulls all 1,136 official questions - including picture and video questions - from the Ministry's site. Claude translates each one once, against a fixed glossary of legal terms so "right of way" always means the same thing. A verify step checks every question against the official source and proves none shows another question's video - a silent bug that would teach the wrong thing.

Studying the way the exam works: mock exams match the real format (25 questions, 50 points, 43 to pass, 30 minutes, the same topic mix), alongside a mistakes deck, Leitner spaced repetition and a daily plan that covers the whole bank in a month. Using it myself changed the plan: mock exams moved to twice a week, and each day now lets you mix reviews of past mistakes with new, unseen questions - so you learn from errors and still meet all 1,000+ questions.

From personal aid to product: the first version used one shared site password, which merged everyone's answers into mine. I replaced it with per-person accounts (Auth0) and progress that syncs across devices, then checked in production that a second person's studying never touched my record. Google login was dropped to keep sign-in to email and password.

Pricing: the aim was not to be the cheapest but to clearly beat the market on value for money. One payment of 349 Kč buys 3 months - under 4 Kč a day - sitting above the cheapest apps and well below the best-known site. The bet is that full English translations, a daily plan, spaced repetition and true-to-format mock exams are worth the difference. It is never auto-renewed, so no stored cards and no "forgot to cancel" refunds. The free tier allows 15 new questions a day up to 225 (20% of the bank): enough to judge the quality, not enough to pass on. The limit is enforced on the server, not in the browser. Payments run through Stripe Checkout, and the whole flow was tested in Stripe's sandbox before the live product was created.

What I cut: I also built a 3D driving simulator on real Prague streets (OpenStreetMap, the city's aerial photography, working traffic lights, a scored exam drive). I shelved it behind a feature flag so the effort went into what students need to pass first.

How I worked: Claude Code wrote the code, with Codex taking over at points. I made the calls on design, pricing and what to cut, and checked the work with acceptance tests on phone and desktop, the verify checks, Playwright runs against the live preview, and end-to-end tests of the sign-in (Auth0) and email pipelines. Built on React, Vite, Tailwind, Vercel + Blob, Upstash Redis, Auth0, Stripe and Resend. Live at autoskola4all.site.

Results

1,136
Official exam questions, Czech + English side by side
349 Kč
3-month Pass - under 4 Kč a day, never auto-renewed
23
Automated test suites covering exams, sync, accounts and payments
Beta
Live and in testing with real users

Key Learnings

  • —Size the market before going commercial. Turning a personal study aid into a paid product is a different decision - next time I'd run a market-size (TAM) analysis first, to weigh what the final product costs to build against what it can earn.
  • —Build accounts and sync in from the start. Progress saved on one device or in one session breaks the moment people use a phone and a laptop - tying data to an account from day one saves rebuilding it later.