The Challenge
Desktop-only checkout on a fragile legacy system frustrated 75%+ mobile traffic, blocked bulk orders, and stalled growth.
The Solution
Built a mobile-first React/.NET cart alongside the legacy app, adding accounts and multi-order features without a costly rebuild.
The Results
Higher checkout completions, increased average order values, and a scalable foundation—freeing the business to grow.
The Challenge: A Business Held Hostage by Its Own Code
When we first started talking to this company, they were at a breaking point. Their entire business—from franchisee management to customer orders—ran on a custom-built website. It had been developed over years by a single, talented developer who had since taken a full-time job elsewhere, leaving them in a precarious state of maintenance.
They were stuck. The platform was a patchwork of Django and Vue with zero unit tests and no documentation. Any change was a high-risk guessing game. Mission-critical issues would arise, and they'd have to wait hours for their part-time contractor to respond. New features were piling up in a backlog that was growing faster than it could be tackled. The business was ready to scale, but their technology was actively holding them back.
The most glaring symptom of the problem was their customer checkout. It was a desktop-only experience. When viewed on a phone—which is how over 75% of their traffic tried to access it—the site simply rendered a shrunken, unclickable version of the desktop interface. Customers trying to book a yard sign from their couch or in bed were met with frustration. There was no way to save payment details, no order history, and no option for bulk orders. For a company built on convenience, the checkout process was anything but.
The Solution: A Strategic, Side-by-Side Transition
We couldn't just hit "delete" on the old system. The franchise dashboard, pricing rules, and years of business logic were buried in that legacy code. A full "rip and replace" was too risky and outside the budget. Instead, we devised a strategy to build the future alongside the past.
1. Stabilizing the Present
We immediately stepped in as a strategic partner, taking over the support queue and clearing the backlog of issues. This built trust and gave us the breathing room to plan for the future.
2. Building a Bridge, Not a Wall
We decided to leave the legacy Django application running for the admin dashboard but build an entirely new, mobile-first checkout experience from scratch. We chose a modern stack—React for the front end and .NET for a new middleware layer—technologies our team could move fast with.
The new React cart wouldn't talk directly to the old database. Instead, it would communicate with our new .NET middleware, which then carefully translated requests into APIs the legacy system could understand. This created a "bridge" that allowed both systems to run side-by-side. The old desktop cart remained live as a backup, but we could now innovate without touching the fragile core.
3. Containerizing the Legacy
To make development even possible, we containerized the old Django application using Docker. This isolated the messy legacy code, allowing our team to run it consistently and predictably without getting bogged down in environment-specific issues.
4. Prioritizing User Experience
The new cart was designed with a mobile-first mentality. We streamlined the forms, prioritized thumb-friendly navigation, and introduced key features the old system lacked:
- Customer Accounts: Users can now save addresses, payment methods, and view past orders, making reordering seamless.
- Multi-Order Cart: A game-changer for their B2B customers. Businesses can now place 5 or 10 orders in a single checkout instead of manually repeating the process.
The Technical Hurdles
- The Black Box: With no tests or documentation for the legacy system, we had to reverse-engineer critical pricing rules to ensure the new cart calculated costs exactly as the old one did.
- The Balancing Act: The hardest part was managing the complexity of two live systems. We had to ensure the new cart injected orders into the legacy database perfectly while avoiding any disruption to the franchisees using the old dashboard.
- Budget Constraints: We moved only what was necessary. By letting the old system handle complex backend logic via APIs, we avoided a costly full rebuild while still delivering a brand-new front-end experience.
The Results: Removing Friction, Raising Revenue
The impact was immediate and measurable.
- Higher Conversions: By finally offering a smooth, intuitive mobile checkout, the company saw a significant increase in customer checkout completions.
- Increased Order Value: The new multi-order feature removed a major friction point for repeat and bulk customers. When you make it easy to add more, customers do—leading to a noticeable jump in average order values.
- Stronger Customer Loyalty: Returning customers now enjoy a streamlined, professional experience. They can log in, see their history, and reorder in seconds, which has driven higher conversion rates across both new and existing customer segments.
- A Foundation for the Future: The company is no longer paralyzed. They have a modern, scalable architecture in React and .NET. Since launching the cart, we have also rebuilt their marketing site on this new stack, giving them faster load times and a more reputable brand presence. The legacy system is slowly being phased out, one feature at a time.
The Partnership
What started as a rescue mission has evolved into a true strategic partnership. By taking over the development from a single, overwhelmed contractor, we didn't just fix a checkout flow—we unblocked an entire business. The company is now free to focus on what they do best: helping people celebrate, while we handle the technology that makes it possible.
Want to talk about your software?
A discovery call is the fastest way to figure out what your application needs next.
More Insights
- From Strategy to Stall: Why Enterprise Initiatives Lose Momentum (And How to Get Them Back)
- Hidden Costs of a Single Developer
- Fixing a Silent Profit Leak
- Real-Time Power BI Analytics
- From Two Days to a Button Click
- Pick Your Path: The In-House Team, A Collection of Mercenaries, Offshore Agency, or a True Partner?
- The Founder's Gamble: Cutting Cost or Cutting Risk in Your Startup's Software?

