Galanta is a Shopify loyalty and rewards app for e-commerce merchants. By the time Lightning Kite came in, the work was no longer about shipping a few new features. The product had inherited technical debt, compliance issues, and a development workflow that made even small changes harder than they should have been.

The Challenge

Galanta came to Lightning Kite with a Shopify app that was expensive to maintain and risky to extend. Local development was broken, documentation was thin, and some of the core product assumptions did not line up well with Shopify's actual constraints. That meant simple changes took too long, and planned features were likely to make the product harder to support instead of better.

The visible bugs were only part of the problem. Underneath them was an architecture that had been shaped around the wrong operating model, plus missing context about how key parts of the app were supposed to behave. Before meaningful product work could resume, the team first had to understand what was broken, what was salvageable, and what had to be rethought.

Our Solution

We started with an audit and stabilization pass rather than guessing from the outside. That work included Shopify billing compliance, widget stability, email architecture, Klaviyo integration, and user authentication. The goal was to stop the immediate bleeding while learning where the real constraints were.

That first phase also gave the client something they had been missing: a clearer view of the product. Once the team could work from evidence instead of assumptions, it became easier to separate fixable issues from structural ones.

Why We Recommended a Rebuild

We did not recommend a rebuild on day one. We recommended it after the audit showed that forcing new work through the old structure would keep creating the same problems. Some parts of the app could be corrected directly. Others were tied to assumptions that did not fit Shopify well enough to support the roadmap cleanly.

Galanta V3 was the result: a rebuilt Shopify loyalty platform with a cleaner architecture, a more reliable development path, and a feature set aligned with how the platform actually works. The client ended up with a better product and a codebase that was easier to maintain instead of one more round of patches on top of old mistakes.