Education
21,777 programmes. Five interfaces. One platform.
A fragmented consultancy workflow became one connected platform for students, consultants, teachers, and administrators, backed by 21,777 searchable programmes.
- 21,777
- Programmes indexed
- 445
- Universities
- 5
- Interfaces
- 1 command
- Rollback time
The starting point
GradGermany advised students by hand, over email and spreadsheets. Programme data for 445 German universities lived in scattered files, consultants had no shared view of an applicant, and every enquiry outside office hours went unanswered until the next morning.
They needed one system that served five different audiences without becoming five different products.
Inside the build
We built a single Laravel application with five interfaces over one domain model: a public marketing and search site, an authenticated student portal, a consultant panel scoped to that consultant's own applicants, a full admin CMS, and a teacher panel for the German-language courses.
Programme search runs on Meilisearch with a synonym dictionary tuned to how students actually phrase a subject. Deployment is one container image per commit, tagged with the commit SHA, so a rollback is a single command rather than a rebuild.
A separate WhatsApp assistant handles first-contact enquiries around the clock, captures the lead, and hands over to a human consultant on request or on a booked call.
What changed
The platform runs 24/7 behind Cloudflare Zero Trust with no inbound ports open on the origin. Enquiries arriving outside office hours are answered immediately instead of the next working day, and every applicant has one record that consultants, admins and the student all see.
Deploys that used to be a manual sequence are now a push to the main branch, and the security review that followed found no exposed services.
The platform gave every part of the business one place to work. Even deployment became simple: we can ship confidently and roll back in one command.
More proof