Case study · Education

From WordPress to a platform for 100,000+ students

MyStrengths runs its strengths assessments on a Laravel and Vue platform that National Digital rebuilt, so students receive personalised results as soon as they finish.

  • 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.”

Dan Hardie Director at MyStrengths

100k+

High-school students assessed

Instant

Results, where they were once processed by hand

1 invite

Enrols a whole cohort

3 in 1

Assessments running on one shared platform

At a glance

Industry
Education
Engagement type
Platform rebuild
First release
2024
Team
National Digital engineering team

About the client

MyStrengths gives teenagers a new way of seeing themselves, replacing negative labels with true and affirming language. Its assessment is a strengths-finder designed for teens, and the team also runs school programs and staff workshops. MyStrengths is based in Sydney and works with schools across Australia.

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 reach students instantly. Before the rebuild, staff processed results by hand.

What we built

A Laravel application with a Vue front end, built around the structure of a school: organisations contain groups, and groups contain participants. 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.

Channels & edgeStudent & teacher portals

API & integrationPayments, school access

Applications & workflowsVue results dashboard

Data platformLaravel back end

Hosting & deliveryMonitoring, backups

The outcome

The rebuilt platform now serves more than 100,000 high school students with instant personalised results, The WordPress site had limited how many new school contracts MyStrengths could take on, and the rebuild removed that limit. Teachers enrol a cohort and track progress across the whole group, and a whole-of-school assessment runs without slowing any student's browser.

Where it went next

MyStrengths continues to expand assessment offerings on the same Laravel and Vue platform as student numbers grow.

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 handled publishing well. It could not generate personalised results, control access school by school, or take both individual and whole-school payments, so the rebuild moved that work into a Laravel application.

  • A data model of organisations, groups and participants follows the structure of a school.Critical

    A teacher invites a whole cohort in one action. With that hierarchy in the data model, MyStrengths can sell to whole schools as well as to individual students, and a school can roll the assessment out at once.

  • Students needed their results as soon as they finished an assessment.Critical

    Each student sees their personalised strengths on screen immediately after finishing. Report rendering takes longer, so it runs on queued background workers, and the student's page loads without waiting for the PDF.

  • Three assessment instruments share one codebase and one set of platform services.Important

    Strengths, character and wellbeing are separate instruments running on shared enrolment, payment and reporting infrastructure. A new assessment needs only its own question set and scoring.

  • 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 MyStrengths can sell to a single student or a whole school without a second billing system.

MyStrengths moved off WordPress onto Laravel and Vue because assessment logic, cohort enrolment and school purchasing needed application code that a content site could not run. More than 100,000 students have used the new platform.

Questions decision-makers ask about this build

Why rebuild rather than extend the WordPress site?

MyStrengths needed software features that a publishing tool does not provide. Generating personalised assessment results, controlling access school by school, handling both individual and whole-school payments and showing teachers cohort progress are all things a content management system can only do through plugins and workarounds. Rebuilding on Laravel let the team build each of those features directly into the application.

How does a school enrol a whole cohort?

The data model mirrors how schools are structured: an organisation contains groups, and groups contain participants. A teacher invites a cohort rather than registering students one at a time, and progress is visible across the group as students complete. Without that hierarchy, each school sale would need individual signups and manual administration.

What makes the results instant?

Scoring runs in the application rather than through manual processing, so a student sees personalised strengths the moment they finish. The heavier work - rendering PDF reports and preparing cohort exports - runs on queued background workers via Laravel Horizon, so it never blocks the student's browser. Instant feedback is a product requirement in a classroom, where a lesson cannot wait on batch processing.

Is this one assessment or several?

Three instruments run on the platform: strengths, character and wellbeing. They are separate assessments with their own question sets and scoring, but they share enrolment, payment, reporting and access-control infrastructure. Results from all three instruments render through the same PDF reports and spreadsheet exports.

How is purchasing handled for schools versus individuals?

Stripe sits behind a single order model covering an individual student buying one assessment, a coupon-based redemption, and a school buying access for a whole cohort. Because individual, coupon and school purchases all run through one order path, MyStrengths can change pricing or packaging without building a separate billing route for each kind of buyer.

What does the platform look like operationally?

It is a Laravel application on PHP 8.2 with a Vue front end, queued workers under Laravel Horizon for report generation and exports, and Stripe for payments. Reports render as downloadable PDFs and cohort data exports to spreadsheet for teachers. The application is installable as a progressive web app, so students on school devices get an app-like experience without going through an app store.

More client work

What's next

Replacing a site that outgrew itself?

MyStrengths moved off WordPress once the product needed scoring, school enrolment and payments built into the site itself. 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.

Want a platform like this for your business?

Tell us what you're building. We'll come back within one business day with what we'd do first and what it would take.