A live SaaS, taken over and stabilized

Behavioral-finance assessments for advisors

The engagement

The client is a behavioral-finance assessment company - it sells psychometric assessments of financial behavior as a SaaS platform that financial advisors use with their clients. In September 2022, the Durable Programming team was brought in to take over development of the platform from a departing dev team. This was explicitly a rescue-and-transition job - just the kind of thing our software project rescue practice specializes in.

What we did

  • Took over an undocumented Laravel codebase - reconstructed the deploy and runtime environment, chased down missing config and access, and got staging and production reproducible. Inheriting a system from a team that’s already gone is the core of an outsourced code rescue.
  • Built a new deploy pipeline with Ansible + Ansistrano - provisioning servers with the exact PHP and Node versions the app needed, plus one-command deploy and rollback.
  • Rebuilt a ~900-line database seed so the app could be brought up cleanly from scratch.
  • Ran sustained bug-and-enhancement work on the live product - invitations not sending, report charts not rendering, 500 errors on account creation, a CRM integration passing the wrong value, and cross-account data leakage between households. Cross-tenant leakage is a hazard specific to multi-tenant SaaS architecture.
  • Fixed the Stripe billing irregularities - quota accounting per billing cycle and duplicate-invitation handling. Billing bugs bill real customers wrong, so this work goes straight to reducing errors.

Takeovers work because the receiving team treats the unknown codebase as the first deliverable. See how we work, or read about stalled project recovery if your build never shipped at all.

Stack

  • PHP / Laravel
  • MySQL
  • AWS EC2 (load-balanced)
  • Ansible + Ansistrano
  • Stripe / Rollbar