Partner Portal for an Enterprise SaaS Vendor
A multi-tenant portal where 600+ resellers register deals, track commission and pull co-marketing assets — with every deal mirrored into Salesforce in...
Migrating a business-critical Yii 1 client portal to Laravel in slices, without a freeze and without a big-bang cutover.
A ten-year-old Yii 1 portal ran daily operations for hundreds of B2B clients. It sat on an unsupported framework and an EOL PHP version, had no test coverage, and business logic lived inside controllers and view templates. A rewrite-and-switch was not an option — the portal could not stop working for a single day.
I used a strangler-fig approach: a routing layer in front of both applications sent migrated paths to the new Laravel app and everything else to the legacy one, with a shared session so users never saw a second login.
Module by module, I extracted business logic out of legacy controllers into tested service classes, starting with the highest-traffic screens. Each slice shipped to production behind a feature flag with the old path still available as a fallback. Once a module's traffic had fully moved, the legacy code was deleted.
The portal reached a supported PHP and framework version with no downtime and no feature freeze, and arrived with test coverage on the paths that matter.
A multi-tenant portal where 600+ resellers register deals, track commission and pull co-marketing assets — with every deal mirrored into Salesforce in...
Campaign reporting across Marketo, Salesforce and web analytics — 40M+ touchpoints rendered as funnel, cohort and attribution views that load in under...
Tell me where it hurts — integrations dropping records, a dashboard nobody trusts, or a legacy portal you cannot safely touch.