ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Offline practice for Edexcel A Level Mathematics (9MA0): Pure, Statistics and Mechanics, with instant Edexcel-style marking.
EducationGitHub @IoloMOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Offline Edexcel A Level Maths (9MA0) practice: generated questions with instant Edexcel-style marking, mocks, spaced review and progress tracking
Taken from the repository README
Loading the full README.
Read the full README ↗Offline-first practice app for Pearson Edexcel A Level Mathematics (9MA0): Pure (Papers 1 & 2) and Statistics & Mechanics (Paper 3). Questions are generated from code templates, marked instantly with Edexcel rules (awrt, s.f./d.p., exact forms, + c, follow-through, method marks) and come with hints, worked solutions and mark schemes.
Live: https://iolomaths.co.uk/ (also still at https://iolom.github.io/maths-practice/, which offers to move each device's progress across and then forwards)
supabase/setup.sh), logins work on every phone, tablet and computer: each person's progress,
history, mocks, past-paper marks and settings are saved to their login and merged across devices
(nothing is lost; the newest settings win). Without it, logins live on the device they were made
on, with setup links for people's own devices.npm ci
npm run dev # http://localhost:5173/maths-practice/
Node 24 LTS. Dependencies are pinned in package-lock.json.
npm test # Vitest: engine, stats, marking pairs, every template × 200 seeds
npm run bank # regenerate the template registry + verified bank index
npm run bank:check # CI: bank index must be fresh
npm run coverage # templates + instances per spec point (fails if any < 3)
npm run build && npm run build:cloud-test && npm run e2e # Playwright on phone / tablet / desktop (+ online logins), with axe accessibility checks
TEMPLATE_SEEDS=1000 npm test runs more seeds per template.
Quality bars: axe (WCAG 2.1 AA and best practice) passes on every page in light and dark mode;
Lighthouse mobile performance ≥ 90 on every main page (accessibility, best practices and SEO 100).
The HTML carries a static app frame and a per-route preload map (scripts/vite-app-shell.ts,
scripts/vite-route-preload.ts), pages and question chapters load on demand, and the service
worker precaches everything for offline use.
Every push to main runs .github/workflows/deploy.yml: type check → tests (including the
database's security rules in PGlite and the admin function) → bank freshness → coverage gate →
builds → Playwright (in the Playwright container; online logins against a pretend Supabase) →
GitHub Pages. The site is served from /maths-practice/ with hash routing
(#/q/<template>/<seed> deep links).
supabase/ holds the database (migrations/: tables and row-level security), the auth settings
(config.toml: public sign-up off) and the admin Edge Function (functions/admin: making,
resetting, switching off and removing logins — the only code with the secret key). The app has only
the publishable key. One command sets it all up or updates it — double-click
Set up online logins.command, or:
supabase/setup.sh # sign in (GitHub), create the project, apply everything, make your admin login
supabase/setup.sh --new-admin # add another admin, or reset your password
It sets the repository variables SUPABASE_URL and SUPABASE_PUBLISHABLE_KEY and rebuilds the
site. .github/workflows/keep-alive.yml pings the project daily so the free plan never pauses it.
See PLAN.md for the architecture and DECISIONS.md for every default chosen.
Templates live in src/content/templates/<Book>-<Chapter>/ — see CONTRIBUTING.md
for how to add one.
All questions are original and written in the style of 9MA0. Spec references follow the Pearson Edexcel 9MA0 specification (Issue 4); textbook chapters follow the Pearson Edexcel A level Mathematics books.