The backend that became a front door
For twenty years, the backend had one job: render web pages. Then the PE owner started acquiring companies that needed to plug in, a new CTO arrived with a platform vision, and a native mobile app needed something pages can't provide. The answer to all three was the same: turn the backend into an API.
A backend that could only talk to browsers
Server-side rendering was the right architecture in 2005. But a backend whose only output is HTML pages has a hard ceiling: it can't power a native mobile app, it can't let an acquired company's system create or query records, and every new consumer means another custom bolt-on. When your growth strategy is acquisition and integration, "the system doesn't have an API" isn't a technical footnote — it's a blocker on the investment thesis itself.
- Output: HTML for browsers — nothing else can consume it
- Mobile app = website in a webview (and it showed: 1.0★)
- Acquisitions integrate by scraping, file drops, or forking code
- Business logic tangled with presentation, hard to reuse
- Output: capabilities — credential, verify, scan, subscribe
- Native apps, web, and kiosks consume the same endpoints
- Acquired companies integrate through a documented front door
- Logic lives once, behind the API; presentations are replaceable
Upgrade the engine, keep it running
This wasn't a greenfield rewrite — 100,000+ reps and hospitals nationwide depended on the system every day. The backend was progressively reshaped: domain logic extracted from page controllers into API services, consumed first by the new apps, then opened to integrators.
The app was the forcing function
Building the React Native app first guaranteed the API was real — designed for a demanding consumer from day one, not a paper exercise. By the time integrators arrived, the surface was battle-tested by the client's own products.
Multi-tenant from the core
Every record is tenant-scoped — the architecture that lets one platform serve multiple brands and, crucially, absorb acquired companies as tenants instead of parallel systems.
Migration without a stoppage
Hospitals checked reps in every day throughout the rebuild. The transition preserved operations — the same discipline we apply to every legacy modernization: evolve, don't interrupt.
Architecture aligned with the investment thesis
When the owner's strategy is "buy and integrate," the architecture either enables the thesis or quietly taxes every deal. This one now enables it.Technical decisions are business decisions wearing different clothes
More from this engagement
From a one-star app to a platform
The full modernization: 100k+ reps, PE-driven integration needs, and a 20-year-old codebase retired with honor.
Read the story → Solution storyEscaping the webview
The native app this API was built to serve — and the 1.0★ rating it left behind.
Read the story → From another engagementDon't replace the ERP — surround it
The same principle at enterprise scale: respect boundaries, integrate through them.
Read the story →Can your systems say yes to the next acquisition?
If integration means custom projects and code forks, your architecture is taxing your growth. We fix that.
Book a Strategy Call