Inspiration

Zürich Gymi entrance exam is brutal for kids, and I want to help my daughter pass it. This is the best way I can help her, with a personalized platform that guides her and teaches her Maths and German in a fun and personalized way.

I got inspired by MathAcademy, which I use regularly as an adult.

What it does

It follows the kid through all the subjects, reinforces their weak spots, makes assessments, and helps explain things.

How we built it

Built with GPT 5.6

  • Frontend: React 19, React DOM, TypeScript/TSX, and Vite 8 with the React plugin
  • Offline data: installable PWA with service worker, IndexedDB via idb, and local PDF rendering via pdfjs-dist
  • Security: Web Crypto using PBKDF2 and AES-GCM for encrypted backups and local PIN verification
  • Hosting: static deployment to Cloudflare Pages via Wrangler; no application backend or server-side learner database
  • Testing: Vitest, jsdom, fake IndexedDB, Playwright, and axe-core across Chromium, Firefox, and WebKit
  • Tooling: pnpm 11.7 and Node.js 24+.

Architecture is split into TypeScript domain logic, React UI, infrastructure/persistence, and subject-specific modules.

Challenges we ran into

Still in the early stages. Challenges are getting the procedural math exercises right. German is still ongoing. The app is a web app, but it is, in reality, offline. We want to add leaderboards, but we don't want to sacrifice privacy. This is, after all, an app for kids.

Accomplishments that we're proud of

If my daughter passes the exam, that will be worth it. If other kids start using it, we will think we are contributing to making education a better place. In Zürich, entrance exams are brutal, and these platforms are expensive. Only rich kids can afford them.

What we learned

Still learning.

What's next for Gymiquest

Expand beyond Zürich to Switzerland.

Built With

Share this project:

Updates