A 12-year-old PHP application that nobody on the team could modify safely — rebuilt in Next.js in 18 weeks.
The client ran a SaaS product on a PHP 5.6 codebase that the original developer had written in 2012. No tests. No documentation. No one who could modify it without breaking something else. We rebuilt it feature-for-feature in Next.js in 18 weeks, with zero customer downtime.
PHP 5.6 codebase that no developer would touch, running on an end-of-life server, blocking every new feature request
The client had acquired a SaaS business — a scheduling tool for professional services firms — 2 years earlier. The acquisition thesis was correct: the product had 340 paying customers and $420k ARR. The technical liability that wasn't fully surfaced in due diligence: the codebase was PHP 5.6, running on a bare-metal server managed by the original developer (who'd agreed to a 6-month transition period after the acquisition and had since gone silent).
The PHP 5.6 runtime was end-of-life in 2018. The server was running Ubuntu 14.04 (end-of-life in 2019). Every security scanner flagged the stack. The client had been paying a PHP contractor $150/hour to make cautious changes and hoping nothing broke. Three times in the last year, a "safe" change had broken an unrelated feature because the codebase had no modularity and no tests.
The business had grown to 340 customers. The inability to ship features was causing churn as competitors on modern stacks released improvements monthly.
Full feature-parity rebuild in Next.js with a clean architecture, test coverage, and a codebase the client can maintain
Old PHP application and new Next.js application ran in parallel for 6 weeks
Customers migrated in cohorts of 30, starting with the newest accounts (smallest
Each migrated customer received an email with their new login link and the optio
Zero customers opted to switch back
Old PHP server decommissioned after 100% migration complete **Feature additions
API access for enterprise customers (the most-requested feature for 18 months)
Calendar integrations (Google Calendar and Outlook sync)
Bulk scheduling operations
One honest number to start.
Fixed-scope, fixed-price. The number below is the starting point — final scope is built from your brief.
Full feature-parity rebuild in Next.js with a clean architecture, test coverage, and a codebase the client can maintain
Three steps, every time.
The same repeatable engagement on every project. No surprises, no mystery, no billable ambiguity.
Brief & discovery.
We send you questions, then get on a call. Output: a written scope with every step, feature, and integration listed.
Build & ship.
Fixed schedule, weekly reviews. No scope creep unless you change the scope — and if you do, we reprice it transparently.
Warranty & retainer.
30-day warranty on every launch. Most clients stay on a monthly retainer for ongoing features and maintenance.
Results
- 340 customers migrated with zero data loss
- Zero production incidents in first 90 days on new stack
- First new feature shipped: 3 weeks after launch
- PHP contractor cost eliminated
Related engagements.
A 6-year-old PHP/jQuery application rebuilt in Next.js and TypeScript in 14 weeks.
Read more02The application works. The codebase is holding the business back. Here's how to modernize it without a big-bang rewrite.
Read more03The application that built your business is now the thing slowing it down.
Read moreQuestions, answered.
Every user flow in the existing application was documented with screenshots and database state inspections before rebuilding. QA testing ran the same user flows in parallel on both applications and compared results. Feature parity was validated before migration cohorts were opened.
Full data migration from MySQL to Postgres via migration scripts. Schema transformation from the legacy data model to the new normalized schema. Data validation comparing record counts and key fields between source and destination before each cohort migration.
Legacy SaaS rebuild: from $35k depending on feature complexity. Fixed-price.
Tell Ryel about your project.
Describe what you’re building and what outcome you need. You’ll have a written, fixed-price scope within the week.