Why we bought a broken Shopify app

Shopify app broken

Time to pivot

Okapya has been building the most comprehensive Checklist app for Jira Server and Data Center since 2013. Our product is used by hundreds of companies, from small startups to Fortune 500. Unfortunately for us, Atlassian announced in 2025 that Jira Data Center would reach its End-of-Life in the next few years. So it was time for us to build a new revenue stream.

Enter Shopify

We love the Atlassian ecosystem, but we wanted a fresh start. Shopify caught our eyes quickly. They’re Canadian, we’re Canadian, and they have a strong development presence in Montreal. It felt like the right neighborhood to move into.

The question was how to get there. Build from scratch or buy something existing? Well, we figured we could get a leg up by acquiring an existing app, and it turns out there are many Shopify apps listed on platforms like Acquire.com. So our search began, and it didn’t take long for us to find one in the loyalty space that looked really promising: a complex app, a few customers, fluctuating but steady cash flow, and somehow positive reviews. We were pretty confident we could make it work. After all, we’re technically strong, and we pride ourselves on outstanding customer support.

We approached the team selling it, agreed on a value, and started the due diligence process. That’s when things got interesting.

The first date

The product wasn’t at all what we were expecting. We were catfished!!!!

  • The app had been losing customers steadily for a while

  • Multiple features were broken, fortunately not the most used ones

  • It had up to four different names across different sections of the product itself

  • It used stolen digital assets

  • It had no real identity, copying features directly from top competitors

  • Support had quietly fallen apart, with several customer requests never answered

  • Documentation was outdated and in some places just wrong

And the technical side was no better:

  • No sound development process: no tests, no automated deployment

  • Code duplication scattered across multiple repositories

  • Logs drowning in errors and warnings

  • Failing Shopify webhooks, which would hopefully explain some of the broken features

  • Security holes serious enough that we gave ourselves a free enterprise plan just by changing a value in the data sent to the server

It didn’t take us long to walk away and withdraw our Letter of Intent. It was a sobering experience. Not every company does the right thing, and not every development team does things right. It’s genuinely scary to think that Shopify merchants, who rely on apps every single day, have no idea that some of their most trusted tools are houses of cards, ready to collapse at any moment.

Better judgment be damned

Months went by. We kept looking for other opportunities but never found quite the right thing. And through it all, our first crush was still on our minds. And still on the market. Here’s the thing, though. We hadn’t just fallen for the app. We had also fallen hard for the loyalty domain.

Loyalty programs are genuinely complex and genuinely important to merchants. Getting customers is hard. Keeping them is harder. A well-run loyalty program can be the difference between a store that grows and one that stalls. And yet the market is a mess: crowded with players, dominated by a handful of leaders charging small merchants enterprise prices for features that should be table stakes. We saw a real problem worth solving.

We said yes 💍

So we held a team meeting. We knew that with enough time and care, we could fix the technical issues and turn it into something solid. Something merchants could actually rely on. We reached out again, renegotiated the price, did another quick round of due diligence, and bought it.

And they lived happily ever after… or not. Read our next post to find out that when you dig deeper, you uncover more dirt.