Educación a Bordo

1The problem
Pass the real exam, by practising on its exact rules
Spain's recreational skipper licences (PNB, PER, PER complementario, PY and CY) are multiple-choice papers with their own counts, clocks and pass marks, and caps on how many you may miss in certain subjects. Educación a Bordo mirrors those rules from the official regulation, so a mock here passes or fails for the same reasons the real one would. Students sign in and pick the licence they are sitting.
2Sit a simulacro
One timed paper, scored like the real thing
Choose the temas, and the app draws a paper weighted across them: for the PNB that is 27 questions in 45 minutes, a pass at 17, and a limit on errors in Balizamiento and the collision rules. The clock counts down and submits itself at zero. The result says passed or failed and why, with the right answer and an explanation on every question.
3Study a tema
One question at a time, with the reason
Estudio is untimed and teaches as it goes. A right answer moves on by itself; a wrong one, or an 'I don't know', stays on the card and shows the correct option with its explanation. The paper is built to drill what you need: half new questions, then ones you skipped, then ones you got wrong.
4Track progress
A streak worth keeping and a picture of where you stand
The dashboard carries a day streak that a quiet day of opening the app does not break, a daily-progress read, a success rate, a per-tema trend and a level gauge drawn from recent practice, with the last few papers linked to their full results. It is the screen that makes coming back tomorrow feel like progress.
5Run the academy
The admin side, and a template that becomes a new school in a config file
Admins search and bulk-approve or edit the question bank, import questions by CSV, rename temas and read student disputes. The whole thing is multi-tenant by design: a new academy, with its own brand, domains and exam rules, is a config entry plus two deployment files, not a code change.
Under the hood
A thin, fast stack that one small team can run
- Scoring
- A right answer scores a point and a wrong one costs nothing on these papers; a pass needs the mark and the per-subject error caps, checked in one grading function.
- Question pick
- Each paper is drawn 50% new, 30% skipped and 20% previously failed, split across temas by weight, in a single SQL query.
- Multi-tenant
- One codebase; a new academy is a config entry plus two wrangler files, with no code change.
- Stack
- Cloudflare Workers with Hono over D1, and a Vite single-page app with Alpine and Tailwind; two Workers per tenant.
- Sign-in
- bcrypt passwords, a 12-hour token with a rotating refresh token, and an anti-forgery token checked on every request.
- Tested
- 565 passing tests across the worker, the web app and the tooling.