Building products while running an agency -- the cost no one tells you about

Running an agency while building a product is something a lot of agency founders want to do. Scheduloo is our attempt at it. The honest accounting of what it has cost us is something I want to put down in writing, both for my own clarity and because I think the advice that exists around this is too focused on the financial dimension.
The money is straightforward: Scheduloo has consumed somewhere between 6 and 8 lakhs in developer time, tooling, infrastructure, and failed marketing experiments since we started. That money came from agency revenue. We knew it would. That was a deliberate choice and I stand behind it.
The cost that nobody told me about is cognitive. Not in a burnout sense, though there has been some of that. In a more specific sense: the two contexts require different kinds of thinking, and switching between them costs something that does not have a clean metric.
The context-switching tax
On a client project day, I am in service mode. A client's goal is the centre of everything. My instincts, my opinions, my preferences are relevant only insofar as they serve the client's objective. That is the right posture for client work. It is also the opposite of the posture you need for product work, where your opinion about what the product should be is the entire foundation.
The problem is not that the two postures conflict in theory. It is that switching between them during the same day, or even the same week, is genuinely disorienting. I make worse decisions on both sides when I am context-switching heavily. Client work gets my surface attention while I am half thinking about a product decision. Product work happens in a mental space that has already been compressed by six hours of client calls.
What we tried that helped
The clearest improvement came from scheduling. We run what we call "product Fridays" now. Fridays are blocked from client calls and client work as much as possible. They are for Scheduloo. Not perfect, clients do not respect calendars as much as I would like, but the intent has made a meaningful difference.
The second thing that helped was separating the team. The two developers who work on Scheduloo do not work on client projects. The two who work on client projects do not touch Scheduloo code. This was partly necessary because of how different the codebases are, but it has had a cultural benefit too. Neither team is trying to hold two product contexts in their heads.
The uncomfortable part
Scheduloo is behind where I wanted it to be at this point. Not because of technical problems, we have shipped steadily. But because building a product to the level where it can support itself requires focus that is genuinely hard to maintain when agency revenue has obligations attached to it.
I do not regret the attempt. I do regret not being more honest with myself earlier about how much it would cost to do both things well simultaneously. I thought we could find the time. You do not find time. You make structural choices that create it.