Skip to main content
Solutions/Case Study/Saas
Case Study · Web Application

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.

150+
Projects shipped
99%
Client retention
~12wk
Average delivery
The problem
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.

What we build

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

Engagement

One honest number to start.

Fixed-scope, fixed-price. The number below is the starting point — final scope is built from your brief.

Tier · Web ApplicationFixed scope
From$25,000

Full feature-parity rebuild in Next.js with a clean architecture, test coverage, and a codebase the client can maintain

99% client retention across 40+ projects
Process

Three steps, every time.

The same repeatable engagement on every project. No surprises, no mystery, no billable ambiguity.

01Week 0

Brief & discovery.

We send you questions, then get on a call. Output: a written scope with every step, feature, and integration listed.

02Weeks 1–N

Build & ship.

Fixed schedule, weekly reviews. No scope creep unless you change the scope — and if you do, we reprice it transparently.

03Post-launch

Warranty & retainer.

30-day warranty on every launch. Most clients stay on a monthly retainer for ongoing features and maintenance.

Results

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
FAQ

Questions, 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.

Next step

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.