My $250K acquisition and the start of a Ubiquiti roll-up

My $250K acquisition and the start of a Ubiquiti roll-up

This is the story about how I bought our biggest competitor Hubox and migrated all of their customers into the HostiFi platform. I'll share the lessons learned along the way... including why I finally decided to merge instead of run each separately, and how I plan to do this again in the future as part of a bigger roll-up growth strategy.

Hubox origins

Hubox launched in summer of 2019. I had already been working on HostiFi for over a year, raised $100K, went full-time, grew revenue to over $100K/year and was hiring my first employee Safwan around that time.

I would guess the idea for Hubox came from the founder's brother. His brother had built a successful captive portal solution for UniFi which he would eventually sell in 2023 for more than a million dollars. His customers needed a UniFi cloud hosting solution and I had affiliated with his brother and others like him to provide the hosting services for their solutions. So, if it was my brother, I would tell him, "There's this guy who raised $100K and went full-time doing this thing and if you make something similar I can help you get started by sending customers your way."

I don't know the actual founding story but I imagine it would have been like that.

The competition between us

We were both selling the exact same thing - UniFi cloud hosting, and then later UISP and Omada cloud hosting as well. At first Hubox pricing just copied ours, but I continued to increase our pricing over time as our product improved while Hubox pricing stayed the same. So a gap formed and Hubox started to have a reputation as the cheaper alternative for people who couldn't afford HostiFi's new pricing.

For me 2019-2021 competition with Hubox was a scary time. I was in a vulnerable position. Hubox had the potential to overtake us with second mover advantage. During those first few years I was weighed down with the technical debt of the original website and a fast growing customer base. I spent these years just trying to hold on and rewrite the original WordPress app to Laravel. Hubox on the other hand started off written in Ruby on Rails and didn't need a rewrite, the founder was able to keep shipping features this whole time while I was stuck on one platform and trying to build a new one.

As a result Hubox surpassed us in features and their UX was better during that time. For example, their customers were able to add a custom domain in their dashboard while ours had to ask support to do it for them. After 2021, we were finally able to migrate to Laravel and from there we quickly overtook Hubox in features and UX but those years leading up were tough.

Another aggravating point was Hubox's marketing tactics. Hubox used the HostiFi name to target customers and there wasn't anything I could do about it because I didn't have a trademark registered at the time. So I went down the path of registering a trademark but it took years and a lot of money, that could be its own blog post, but I did eventually get it in 2021. Even though I had the trademark I wasn't able to stop Hubox's marketing tactics.

In addition to that, Hubox was making false claims on its website to make it look like it was a bigger business than HostiFi. To an unaware potential customer comparing HostiFi and Hubox, we looked like the small competitor rather than the market leader. This particularly pissed me off because it violated my core values of transparency and authenticity. All of this was cheating in my opinion.

Buying Hubox

In March of 2020 lockdowns began and for some people the world was ending, for others it felt like it was. For me I was busy emailing each of my competitors to see if they'd be scared into selling. I wrote the founder of Hubox this email.

I didn't get a reply but the seed for that discussion was planted.

Years later he wrote me on an unrelated note congratulating me for a legal victory against Ubiquiti.

I didn't even address what he had written, I just quickly wrote back asking again if he would consider selling Hubox.

He replied and said he was interested in discussing!

Negotiations became serious in summer 2022, but I stepped away after being unable to find common ground on price. He wanted $250K but I was only offering $100K.

In November 2022 his revenue had continued to grow and I accepted the $250K price.

In December we signed papers and I wired $250K to him on December 22, 2022.

He transferred the accounts over to me and that was it.

Despite the tense competition we had and my feelings about his business practices, we both worked together to get the deal done and everything was handled very fairly and professionally on both sides. There were no issues.

My friend Ryan Kulp played a role in the transaction. Because of his experience buying and selling software businesses at Fork Equity I asked him for assistance and he helped advise me on due diligence, whether he felt the price was fair, and getting the paperwork completed.

The lessons learned

  1. Escrow I intentionally didn't do any kind of escrow because I was being cheap and felt like I trusted the Hubox founder. It worked out. In hindsight I think this was a bit risky though and I might do escrow in the future. There were a few days where I really regretted not doing escrow. I had sent the wires on December 22 but due to the holidays they didn't arrive until December 27. We had not discussed ahead of time how the handover would happen. I had assumed he would begin giving me ownership of everything as soon as the wire confirmations were sent, maybe holding out on a critical piece like the domain name itself until the wires completely cleared. But he had assumed that he wouldn't give anything until the wires cleared. So he budged a little bit and gave me some very low stakes transfers while I was waiting, but not much. I was really sweating it the whole time.
  2. Ad spend growth When you buy a business, part of what the seller likes to do is create these spreadsheets mapping out potential future growth and all the profit that will come from it in order to justify a higher sale price by showing it will be paid back quickly. These financial models are pretty much always hopeful at best and completely misleading at worst. In this case there was some specific due diligence that I missed which extended the pay back period significantly. I missed that the 10% per month growth was almost entirely funded by 30% or more of revenue going to ads. The first thing I did after purchase was turn off the ads, and the business never grew again.
  3. Stripe migration UK to USA I didn't know this was going to be a big problem. You would think after I take over the Stripe account I simply update it with the new legal info for the US business and update the payouts to go to a different checking account. That might be the case for a USA to USA acquisition, but for UK to USA you have to open a new Stripe account and migrate all the customers, payment methods, and subscriptions to it. That was very high risk, annoying, a lot of dev time... definitely not calculated into the purchase price.

What to do with it?

By January 2023 I had a handle on the new purchase. All the Hubox accounts were mine. I was personally answering every support ticket for now. My dev Andrew Soutar had looked over the code and became somewhat comfortable with it, shipped a few bug fixes.

We were in control.

I had no plans to do anything short-term. I wanted it to sit and let it pay some money back before I do anything to rock the boat. The Stripe migration was more risk than I wanted to take on, but I had no choice. Luckily we got that done and it went smoothly.

I hired Nelson Rodrigues to be full-time support for Hubox. This significantly cut into profits and increased the payback period, but unfortunately I didn't see any other way to do it. I had thought our existing support team could do Hubox support but due to an Intercom limitation there was no way to have our support chat bubble on both sites with different branding on each, and the idea of having everyone logged into two different browsers to do support was too much of a headache.

We couldn't simply add the HostiFi support bubble to Hubox because we had to keep the acquisition a secret.

If HostiFi customers knew we had acquired Hubox they could migrate there for what looked like the same thing for cheaper.

But the reality was it wasn't the same. Support was one person instead of a team of people. The servers were way less stable. We didn't prioritize the server updates. The dashboard received very few bug fixes and no new features.

The backups weren't very reliable on the servers. Instead of fixing it we decided to stop destroying servers when people canceled, just in case they came back or had canceled on accident we still had the data they needed. Over time our server costs ballooned because of this and Hubox became barely profitable at all.

But it just didn't matter. We didn't have time to deal with it because HostiFi was growing from $2M ARR to $3.5M ARR during this time. So getting maximum juice out of a $250K investment just wasn't top priority. We approached every issue at Hubox as "how do we fix this fire as quickly as possible so we can get back to work at HostiFi" which often meant band-aid solutions.

A lot of times the team felt the weight of the Hubox acquisition and we discussed at length what to do with it long-term.

There were 3 paths we considered:

A secret weapon

Without anyone knowing HostiFi owned Hubox we could lean into a more public competition between us while benefitting from both sides of it.

We could use Hubox to run experiments or do riskier things that we wanted to try at HostiFi but were too scared to do, for example explore new pricing models to see what worked best.

We could use Hubox to undercut competitors on pricing, anchoring the competition to an unsustainable lower price point.

HostiFi's consumer brand

We could announce the acquisition and rebrand Hubox as "Hubox powered by HostiFi" and link to Hubox plans from the HostiFi website and HostiFi plans from the Hubox website with Hubox being for consumers and HostiFi being for business.

Migrate

We could simply migrate all Hubox customers into the HostiFi platform and shutdown Hubox.

The HostiFi team never really came into agreement on this but ultimately I decided we had to migrate, it was the only thing that made sense.

There were too many problems with the secret weapon or consumer brand paths. The problems were the same. Code duplications - we had talked about merging backends to manage the servers from one code base instead of two, but we would still need to maintain and continue to develop an entirely separate Ruby on Rails codebase for the dashboard at Hubox while we had a separate dev doing Laravel at HostiFi. Potentially we could fork the Laravel code to reuse it and make it, at least if not one codebase, two very similar ones, but that's not ideal of course. Also, the support teams would have to stay separated in the secret weapon path since the brands had to be kept separated. But my biggest issue was the fragmentation of the customer base. There was no way to upsell a Hubox customer into a higher paying HostiFi plan or feature in the future.

This was all too complicated technically to pull off without a ton of work. And the customer fragmentation was the unfixable deal breaker. So in my opinion we had to merge Hubox into HostiFi, it was the only way forward.

In March 2025, after 2 months of preparation, we seamlessly migrated all Hubox customers into the HostiFi platform and turned off the Hubox website.

The roll-up strategy

We now have all the benefits of a roll-up strategy and a playbook for how to do it again.

The roll-up benefits can't be understated. There is so much waste running two similar companies separately instead of as one. We cut Hubox's cloud server bill (largest cost) in half immediately after migration because the HostiFi platform backups are reliable so we were able to confidently delete old canceled servers from Hubox. I canceled Ghost, Webflow, a dev Vultr account, Google users, Intercom, Supportman, a dev DigitalOcean account, DigitalOcean production account, Postmark, and Aircall for a savings of over $30,000/year. These weren't needed anymore because we already had them at HostiFi. Also our Hubox support team member has joined the HostiFi support team so his salary is also not entirely a Hubox expense anymore.

We added thousands of Hubox leads to the HostiFi newsletter so we can market to the new audience. Hubox customers kept their grandfathered pricing but are able to grow with HostiFi and pay to unlock new features in their dashboard if they want to.

Doing it again will be much easier because we know exactly what we want to do this time and we have the code and experience handling the migrations.

We'll focus first on UniFi, UISP, or Omada hosting acquisitions because that's going to be easiest for us but I think if we run out of room to grow there I would love to acquire other application hosting companies.

Maybe one day we'll even buy a company bigger than us.

I'm only 32 and I'm just getting started.

Mastodon