Student Recruitment & Education Operations Platform
A student recruitment and education operations platform: one student record behind many applications, a 140-university course catalogue, evidence documents, GDPR consent signing, and agent onboarding and commission — across three operational roles.
- Built for
- London School of Excellence
- Industry
- International education and UK university admissions
- My role
- Lead developer — sole developer since April 2026
- Status
- live2026
Built with React, Vite, MUI, Node.js, Express, MongoDB, Mongoose, Socket.IO, AWS S3, AWS SES, Resend, Cloudflare Workers, Jest, Vitest, Nginx, Linux
The system in numbers
- Backend modules
- 24
- Page components
- 89
- Automated tests
- 1,879
- Universities
- 140
- Course records
- 1,300+
- Operational roles
- 3
Source: Repository and live-system audit, September 2026.
In this case study
The problem
London School of Excellence places international and UK-domiciled students onto university courses through a network of independent recruitment agents. The work is document-heavy, consent-heavy and commercially sensitive at every step.
I took the platform over in April 2026. It worked, and four things about it did not.
The application was the unit of truth. A student’s name, passport, address and contact details lived inside each application. The same person applying a second time became a second, unrelated copy of themselves — re-typed, re-verified, and free to drift out of sync with the first. Nothing could answer "show me everything about this person".
The application detail endpoint had no permission check at all, and the list endpoint scoped itself by whatever owner id the browser chose to send. An agent who simply omitted that parameter received every application in the business.