The Challenge
Electrical apprentices and professionals studying for their qualifications needed a better way to revise and test themselves. Existing solutions were clunky, outdated, or locked behind expensive subscriptions.
The goal: a modern, mobile-friendly exam platform that makes revision accessible and tracks progress meaningfully.
The Approach
We built Wattscore using SvelteKit 2 with Svelte 5 (runes) on the frontend and Convex as a real-time backend. This stack gives us:
- Reactive UI with minimal boilerplate
- Real-time data sync without manual WebSocket management
- Serverless scalability
- Type-safe database operations
Core features:
- Magic link authentication — No passwords to remember
- Modular content structure — Organised by qualification and topic
- Timed exams — Simulate real test conditions
- Progress tracking — See scores, attempts, and improvement over time
- Admin panel — Full content management for instructors
- Bulk question import — Upload entire question banks from Word documents
Technical Architecture
Authentication Flow
- Student enters email on login page
requestMagicLinkcreates a token and sends email via Resend- Student clicks link →
/auth/verify?token=xxx verifyMagicLinkvalidates token, creates session- Session token stored locally, validated on each request
No passwords. No password resets. No security questions.
Data Model
Users ├── Modules (e.g., "AM2 Exam Prep") │ └── Exams (e.g., "Module 1: Wiring Regulations") │ └── Questions (multiple choice, with explanations) └── Attempts (scored results with timestamp)
Bulk Question Import
Instructors can paste questions from Word documents in a specific format:
What is the correct fuse rating for a 3kW appliance? A) 3A B) 5A C) 10A D) 13A Ques:Ans:1D2B3C4A
The system parses this format automatically, creating questions with correct answers mapped.
Design Decisions
Why SvelteKit + Convex?
- SvelteKit gives us file-based routing, SSR when needed, and the cleanest component syntax available
- Convex handles real-time subscriptions, authentication state, and database operations in one coherent system
- Together, they eliminate boilerplate and let us focus on features
Mobile-first approach
Most students revise on their phones — during commutes, on breaks, between jobs. Every screen is designed for thumb-friendly navigation and readable typography at mobile sizes.
Progress visibility
The dashboard shows:
- Overall scores by module
- Recent attempts with scores
- Time spent on each exam
- Areas needing improvement
Students can see their progress at a glance and know where to focus.
The Result
Wattscore provides electrical professionals with a modern, accessible way to prepare for their qualifications. The platform handles everything from content management to student progress tracking, with a technical foundation that can scale.
For administrators, bulk import and a clean admin panel make content updates quick. For students, magic links and a mobile-friendly interface remove friction from the revision process.
Tech Stack
- Frontend: SvelteKit 2, Svelte 5 (runes)
- Backend: Convex (real-time, serverless)
- Authentication: Magic links via Resend
- Styling: Tailwind CSS 4
- Deployment: Netlify + Convex Cloud