
Flow
Learning and exam management platform
- Client
- Functional Skills UK, an adult-education provider
- Partnership
- Knowledge Transfer Partnership with Edinburgh Napier University
- My role
- Sole developer, from requirements to production
- Timeline
- 2025 – present
- Status
- Live on AWS, used daily by staff, tutors and learners
- Recognition
- Nominated for an Innovate UK KTP Award
Overview
Flow runs the day-to-day work of a UK adult-education provider. Enrolments, online courses, initial assessments, exam bookings and results all live in one system, with one record per learner from first enrolment to final result. I designed, built and deployed it on my own, and I still run it in production.
The Problem
Learners were enrolled in one tool and studied on a third-party platform that charged per learner. Exams and results lived in spreadsheets, so pass rates and tutor performance took days to pull together.
The Solution
One platform for staff, tutors and learners, all working from the same live data. Learners take their assessment, study and book exams online. Staff manage everything in one place, and the reports build themselves. Flow is multi-tenant, so one deployment can serve several training providers, each kept fully separate.
The Results
5,000+
learner records managed
~£30k
a year saved on platform fees
20+ hrs
of staff time back each week
Key Features
Enrolment
Learners come in from the website, a CRM webhook or the admin team. Each one is placed on a course, a funding contract and a tutor.
Assessment
Timed English and maths assessments find each learner's level before they start. Answers save as they go and marking is automatic.
Online Courses
Courses built from modules, workbooks and SCORM lessons. Learners track their progress, and tutors mark work inside Flow.
Exam Booking
Learners pick an exam slot on their phone. Exam officers manage dates and capacity, and reminders go out by email and SMS.
Reporting
Live dashboards show pass rates by subject, level, tutor and contract. Every change is logged for inspections.
Multi-Tenant
One deployment serves several training providers. PostgreSQL row-level security keeps each provider's data separate.
Product Screens
All screens use demo data. No real personal information is shown.







Tech Stack
Frontend
- React 19
- TypeScript
- Vite
- Tailwind CSS 4
- React Router 7
- ApexCharts
- FullCalendar
Backend
- Python
- Django 5
- Django REST Framework
- Celery
- Redis
Data & Cloud
- PostgreSQL 16
- AWS EC2
- RDS
- S3
- CloudFront
- Docker
- Nginx
- Sentry
Integrations
- SCORM & Articulate Rise
- Twilio SMS
- Monday.com webhooks
- Stripe
- Excel & PDF exports

