AH Original · Case study 09
Wiscademy
NPPE, FE and CPD learning for Canadian engineers: a Next.js website and a Flutter app on one HWS backend, with coins, progress and certificates shared between them.
- Role
- Full-stack · web & app
- Stack
- Next.js · Flutter · HWS
- Year
- 2026


- Type
- E-learning platform
- Role
- Full-stack · web & app
- Stack
- Next.js · Flutter · HWS
- Market
- Canada · engineers
01. The platform
From exam prep to licence renewal.
Canadian engineers have to pass a professional practice exam and then log CPD hours every year, usually from scattered, desktop-only material. Wiscademy puts NPPE and FE preparation and regulator-aligned CPD courses in one place, on the web and on the phone, with a certificate at the end of every course.
02. The website
Pick a path,find a course.
The site leads with the three paths, then a catalogue of about 200 published courses. Every course page shows its outcomes, full curriculum and coin fee before anyone signs up.

03. Built to stay up
Fast pages from a slow-changing catalogue.
Pages are rendered ahead of time and refreshed from the API. The full catalogue was too large for one cache entry, so courses are read a page at a time, and listings and sitemaps fall back gracefully when the API is unavailable.
- Courses read a page at a time to stay under cache limits
- Sitemaps and listings keep working through API outages
- Separate builds for wiscademy.com and wiscademy.ca
- Coins bought on the web through Stripe






04. The mobile app
A course in your pocket.
The Flutter app opens on the learner’s coin balance and a featured path, then their courses with the CPD credits earned so far. Each course shows progress module by module, and the lesson player handles articles, video, audio and quizzes.
- Lessons with articles, video, audio and quizzes
- Progress per module, resumed where the learner stopped
- CPD credits earned against a target
- Light and dark Material 3 themes


05. Coins & certificates
Unlock with coins, finish with proof.
Courses unlock with coins, bought in the app or on the web. When a learner finishes, a certificate is issued in their name, counted in their statistics and checkable by any regulator or employer on the website.
- Coin packs through RevenueCat in the app
- Every top-up and unlock in the wallet history
- Certificates issued on completion, verifiable online
- Statistics by year: courses, credits and study time




06. Architecture
Two clients, one backend.
Both clients call the same HWS RunAction API, so a course started on the phone shows the same progress on the website. Courses, blogs, the digital wallet, payments, media and identity are HWS apps rather than custom endpoints.
Website
Next.js 16 · SSR & ISR
Flutter app
Android · iOS
HWS RunAction
Courses · blogs · identity
Digital wallet
Coins · Stripe · RevenueCat
Certificates
Issue · verify · PDF
07. In numbers
One catalogue, every screen.
The same courses, coins and certificates on two websites and two app stores.
- 199
- Published courses
- 3
- Paths: NPPE, FE, CPD
- 2
- Clients, one API
- 4
- Lesson types
08. Technologies
- Next.js 16
- React 19
- TypeScript
- Redux Toolkit
- Bootstrap 5
- GSAP
- Flutter
- Dart
- Material 3
- Provider
- Dio
- RevenueCat
- Stripe
- HWS
AH Originals
More Like This
Next episode
Want something like Wiscademy?
Tell me about your idea and I'll reply with honest advice and a free quote. Replies within 24 hours.