We Became the Startup We Wanted to Work With

· 5 min read
product developmentbootstrappingbuilding in publicside projectsclient workstartup lessons

No pivot tables were consulted in the making of this product.

Since we started in late 2023, we've been doing client work for startups. Build their MVPs, fix their tech debt, scale their infrastructure. Good work, interesting problems, solid revenue.

Then in early 2024 we started building Arheev - our own HR platform - and suddenly we were on the other side of every conversation we'd ever had with startup clients.

Turns out, building your own product while running a services company is way harder than we told our clients it would be.

The Classic Agency Trap

Here's how services companies usually think about building products:

"We'll use our spare time to build an internal product. When client work is slow, we'll work on it. It'll be great!"

We knew this was a trap. We'd seen it fail for other agencies. We told ourselves we'd be different.

We were not different.

First few months, everyone's excited. People volunteer to work weekends on Arheev. Progress happens fast. We build a working prototype, get some early feedback, everything's great.

Then a big client project comes in. "Just two weeks," we tell ourselves. "Then we'll get back to Arheev."

Three months later, Arheev hasn't been touched and we've forgotten half the decisions we made.

What We Changed (That Actually Worked)

After the second time this happened, we made a rule: Arheev gets 30% of our capacity, every week, no matter what.

Not "when we have time." Not "if client work is slow." Just... 30% is reserved for our product. Always.

This felt terrifying. What if we had to turn down client work? What if we couldn't meet deadlines?

Turns out, constraints force you to be more efficient. We got better at estimating client projects. We stopped saying yes to everything. We hired one more person so we had buffer.

And Arheev actually started shipping features consistently.

The Mobile App Disaster

Building Arheev's mobile app, we hit this perfect storm of Android requirements.

Google announced the 16KB page size requirement. React Native needed updates. Half our dependencies weren't compatible. The kind of technical debt nightmare we'd normally charge a client premium rates to fix.

Except this was our product, our problem, our weekends.

We spent three weeks debugging native library alignment issues. No one was paying us for this. We couldn't bill it to anyone. Just had to do it because the alternative was not shipping.

This is the part we never really explained to startup clients: sometimes you just have to eat the cost of platform requirements, broken dependencies, and technical changes you didn't cause.

Actually Listening to Users (The Hard Way)

For client work, we have a process. User research, wireframes, prototypes, testing. Very professional.

For Arheev? We built what we thought made sense, shipped it, and watched people get confused.

One feature we spent three weeks building - this clever automated approval workflow - literally no one used it. They all just manually approved everything because our "clever" system was too complicated to understand.

We killed it and built something simpler. Took four hours. People actually use it.

Client we probably would have defended our complex solution for weeks. Your own product? You just fix it because there's no one else to blame.

What This Changed About Client Work

Now when a startup client says "we'll handle the mobile deployment ourselves," we don't just nod. We tell them about the three weeks we spent on 16KB page sizes.

When they want to build a complex feature because it seems cool, we show them our abandoned approval workflow.

When they're trying to fit product work "in between" other priorities, we explain why we had to reserve 30% capacity or Arheev would never ship.

We're better at client work because we've lived through the same problems as an internal startup. Not as consultants who read about it. As a team that shipped code at 11 PM because a deployment broke and users were waiting.

The Uncomfortable Truth

Building Arheev made us realize how much easier it is to give advice than to follow it.

We told clients "just ship fast and iterate" while spending weeks perfecting Arheev features.

We said "focus on core users first" while trying to build every possible feature for every possible HR use case.

We recommended "simple wins over complex solutions" while building complex solutions because we thought we knew better.

Being on the other side forced us to actually practice what we preached. Or at least try to.

Where We Are Now

Arheev is live. People are using it. We're still building features, fixing bugs, dealing with the reality that software is never "done."

We're still doing client work - that's still the majority of our revenue. But we're also running our own product now.

It's messy. Some weeks Arheev gets more than 30%. Some weeks less. We're learning as we go.

We're a better services company because we went through the same things as our clients. The pressure, the trade-offs, the late nights debugging something that "should have been simple."

When we tell a client something is hard, they know we're not just saying that to bill more hours. We've done it ourselves.