A 15-year VB system moved to a modern stack with zero data loss
A school group ran a 15-year-old desktop system in an ageing VB codebase, with a separate install and separate data behind every campus. It could no longer be safely extended, yet a decade and a half of admissions, marks, attendance and fee history could not be put at risk.
- Rebuilt the platform as a single multi-tenant application — one Angular front end and a Kotlin service layer serving every campus from one codebase, with tenant data isolated per school.
- Reverse-engineered the legacy schema, then wrote and repeatedly dry-ran a migration that reconciled every record against the source before cutover, so nothing was assumed and nothing was dropped.
- Ran the old and new systems in parallel through a full cycle, matched row counts and totals both ways, and cut over only once the numbers agreed exactly.
- 0Records lost in migration
- 15 yrsHistory reconciled to source
- 1Codebase, every campus
| Legacy VB | With Profmax | |
|---|---|---|
| Architecture | One install per campus | One multi-tenant platform |
| Data migrated | 15 yrs at risk | Reconciled, zero loss |
| New campus | Another install | Another tenant |
| Shipping a feature | Patched site by site | Once, everywhere |




