Case study · Education
From WordPress to a platform for 100,000+ students
- Laravel
- PHP 8.2
- Vue
- Stripe
- Laravel Horizon
- PWA
✓ Verified Review“Trust is critical to our application and National Digital have been outstanding. They have never let us down, respond so quickly and understand our business. I've worked with a lot of different tech companies and National Digital are the best by far.”
High-school students assessed
Results, where they were once processed by hand
Enrols a whole cohort
Assessments on one platform, not three codebases
The challenge
MyStrengths' WordPress site could not support the assessment algorithm, secure user management, payment processing or data visualisation required to serve schools at national scale. Schools needed to enrol whole cohorts, teachers needed to see progress across a group, and results had to be returned instantly rather than processed by hand - none of which a content site could carry.
What we built
A Laravel application with a Vue front end, built around the way schools actually work: organisations contain groups, groups contain participants, and teachers invite cohorts rather than registering students individually. Three assessment instruments run on shared infrastructure, results return instantly as personalised dashboards and PDF reports, and Stripe handles both individual and whole-school purchasing.
- Assessment logic migrated off WordPress onto Laravel
- Three assessment instruments on shared platform infrastructure
- Organisation, group and participant model for school enrolment
- Vue results dashboard with cohort progress views for teachers
- Stripe payments with coupons, orders and whole-school purchasing
- Queued report generation via Laravel Horizon
- PDF report rendering and spreadsheet export
The stack
Migration of the assessment logic off WordPress onto Laravel; a Vue results dashboard with cohort progress views for teachers; an organisation, group, participant and invitation model for school enrolment; Stripe payments with coupon and order handling for individual and school-wide access; queued workers via Laravel Horizon for report generation; and PDF report rendering with spreadsheet export for teachers.
The outcome
The rebuilt platform now serves more than 100,000 high school students with instant personalised results, removing the scalability ceiling the WordPress site had placed on new school contracts. Teachers enrol a cohort and watch progress across it rather than chasing individual completions, and report generation runs on background workers so a whole-of-school assessment never blocks anyone's browser.
Where it went next
MyStrengths continues to expand assessment offerings on the same Laravel and Vue platform as student numbers grow. The three-instrument structure means a new assessment is new content and scoring on existing rails, not another product build.
This case study describes real work delivered by National Digital for MyStrengths. Selected figures are indicative and rounded.
Key Takeaways
Rebuilding an assessment product for how schools actually buy
- A content site could not carry assessment logic, cohort enrolment and payments at national scale.Critical
WordPress was adequate for publishing but not for generating personalised results, controlling access school by school, or handling both individual and whole-school purchasing. The rebuild moved all of that onto Laravel as ordinary application concerns.
- Modelling organisations, groups and participants mirrors how schools are actually structured.Critical
Teachers invite a cohort rather than enrolling students one by one. Getting that hierarchy right in the data model is what makes whole-school rollout practical, and it is the difference between selling to a school and selling to individuals.
- Instant results were a product requirement, not a performance nicety.Critical
Students complete an assessment and see personalised strengths immediately. Manual processing would have broken the classroom use case entirely, so heavier work like report rendering runs on queued background workers rather than in the request path.
- Three assessment instruments share one platform rather than three codebases.Important
Strengths, character and wellbeing are separate instruments running on shared enrolment, payment and reporting infrastructure. Adding an assessment is new content and scoring on existing rails, not another product build.
- Payments had to support both an individual student and a whole school.Important
Stripe handles individual purchases, coupon redemption and whole-school orders through the same order model, so the commercial model is not constrained by what the platform is able to charge for.
MyStrengths moved off WordPress onto Laravel and Vue because assessment logic, cohort enrolment and school purchasing are application problems rather than content problems. More than 100,000 students have used the result.
Questions decision-makers ask about this build
Why rebuild rather than extend the WordPress site?
How does a school enrol a whole cohort?
What makes the results instant?
Is this one assessment or several?
How is purchasing handled for schools versus individuals?
What does the platform look like operationally?
What's next
Replacing a site that outgrew itself?
MyStrengths moved off WordPress because assessment logic, cohort enrolment and school purchasing are application problems, not content problems. If you're weighing the same move, see how we approach custom web applications and customer portals, part of our wider digital product development work.