Skip to main content

Command Palette

Search for a command to run...

The Real Economics of Solo Support

Updated
8 min readView as Markdown

A practical engineering guide to response windows, interruption costs, reusable replies, and sustainable customer support for solo developers.

The dangerous support message is not the difficult one.

It is the easy one that arrives while you are holding half a codebase in your head.

You know the answer. It will take two minutes. So you switch tabs, type the reply, and return to the editor.

The reply took two minutes. Returning to the code did not.

As a solo founder, I used to measure support by time spent writing. That made the workload look almost trivial. Ten short conversations at five minutes each should cost less than an hour.

But typing is only one line in the bill.

Support changes what kind of work you can do before and after the reply. It creates open obligations and can turn one engineering block into six calendar fragments.

The economics of solo support are not tickets multiplied by minutes.

They are service value minus interruption cost.

Fast replies can be expensive

Speed is easy to market and dangerous to promise.

An instant answer feels excellent to the user. It can also train the founder to operate as a human webhook, triggered by every incoming message.

That arrangement may work with three users. It becomes a hidden ceiling as each customer adds another chance that the founder gets pulled from work that improves the product for everyone.

Software development is unusually sensitive to interruption because progress depends on maintaining a detailed mental model. Microsoft Research found that developers associate productive days with completing meaningful tasks without significant interruptions or context switches. Earlier Microsoft research also reported frequent task switching as one of the top problems developers identified in their work.

The point is not that users should wait while the founder protects a sacred flow state. Response time has a production cost, and pretending otherwise produces worse service later.

A founder who answers instantly all day may feel responsive while gradually becoming slower at fixing the causes of those conversations.

Support has three different clocks

Not every message deserves the same response speed.

I separate support by the clock the user is actually on.

The first clock is immediate harm. Someone cannot access the product, a payment behaves incorrectly, data appears at risk, or a core action is blocked. Delay actively increases the customer’s cost. These messages interrupt the schedule.

The second clock is continued progress. The user has a question or encounters friction, but can reasonably continue with something else. These messages need a predictable answer, not a panicked one.

The third clock is consideration. Suggestions, broader questions, and non-urgent observations deserve acknowledgment, but they do not require the founder to stop building at the moment they arrive.

The mistake is treating all three clocks as one queue ordered only by arrival time.

A casual suggestion can interrupt work on a customer-blocking defect simply because it appeared first. The founder feels busy; the person with the real problem feels ignored.

Triage is not bureaucracy here. It is the minimum logic required to spend scarce attention where delay causes the most damage.

Predictability beats permanent availability

Small products often imitate enterprise support promises without enterprise staffing.

“We reply instantly.”

“Available 24/7.”

“Always here to help.”

If one developer is building, selling, maintaining infrastructure, and answering users, these promises are either false or personally destructive.

A better promise is narrower and reliable.

Tell users when replies normally happen. Create an explicit route for genuine blockers. Keep the window short enough that a customer can plan around it. Then meet it consistently.

Predictability changes the emotional experience of waiting. Silence with no boundary feels like neglect. A clear expectation feels like a process.

It also allows the founder to reserve response windows rather than repeatedly checking the queue. Two focused sessions can provide better answers than twenty anxious glances.

This is not an argument for robotic office hours. A serious issue can still break the schedule. The point is to make interruption a decision instead of a default.

Calculate the cost you are actually carrying

You do not need sophisticated analytics to estimate solo support load.

Start with four numbers: conversation volume, average active handling time, unplanned interruptions, and repeat-contact rate.

The first two show the visible workload. The third shows how often support breaks other work. The fourth suggests how much of the demand is not being resolved cleanly.

Imagine 15 conversations in a week at eight active minutes each. The visible cost is two hours.

If those conversations arrive as 15 separate interruptions, the operational cost is much larger than two hours. If five users return because the first answer did not unblock them, the issue is not merely higher volume. The original response may have been incomplete, unclear, or aimed at the wrong problem.

I would rather reduce five repeat contacts than shave thirty seconds from every first reply.

That is the difference between optimizing support and merely typing faster.

Answer in layers

Burnout often comes from trying to finish the entire problem inside the first response.

The user reports unexpected behavior. The founder starts investigating, reproduces it, searches the code, considers a permanent fix, and tries to write a complete explanation before replying.

An hour passes. The user hears nothing. The founder loses the engineering block anyway.

A layered answer is usually better.

First, confirm what you understand and provide the fastest safe path forward. If investigation is required, say what you will check and when you will return. Then move the deeper work into the right block of the day.

This separates time-to-unblock from time-to-perfect-resolution.

The first may take minutes and the second days. Combining them makes every uncertain question feel urgent.

The user does not need a live transcript of your debugging. They need to know whether you understood, what they can do now, and what will happen next.

Reuse structure, not indifference

Repeated questions should not require fresh composition every time.

That does not mean sending cold macros.

A useful saved response is closer to a function than a finished message. It handles the stable logic while accepting parameters from the current case.

The stable part may explain billing or request diagnostic details. The variable part reflects what this user attempted, what happened, and what comes next.

The sequence is simple: acknowledge the exact situation, give the direct answer, add the relevant steps, and set the next expectation.

The order matters. Users should not have to read a paragraph of empathy before learning whether their work is recoverable.

SupDesk includes canned responses inside private conversations and live chat. Used well, that kind of feature removes repeated typing without pretending every conversation is identical.

Automation should preserve attention for judgment, not remove judgment from the reply.

Spend support time where it compounds

Some support work disappears when the conversation ends. Some changes the economics of every future conversation.

If five people ask the same setup question, answering the sixth person faster is less valuable than removing the uncertainty that created the question. That might mean changing one label, adding an example, improving an error message, or writing a short help article.

I keep a simple rule: repeated explanation is a product expense.

Once an answer repeats, it should trigger a decision. Should the product explain this? Should documentation explain it? Is the behavior itself wrong? Or is this a legitimate edge case that deserves a reusable response?

The answer will vary. The important part is refusing to accept recurring confusion as permanent support volume.

This is where solo founders have an advantage. The person answering often has permission to change the product. A support conversation does not need to travel through three departments before becoming an improvement.

Use that proximity. Otherwise you absorb the cost without capturing the benefit.

Protect the person who has to answer tomorrow

For a solo founder, support design is capacity planning.

Every promise, response window, template, and self-service explanation determines how much product work remains. The goal is not minimum contact; users are part of the job.

The goal is support that remains humane on both sides.

For the user, that means a clear answer, a realistic expectation, and attention proportional to the problem.

For the founder, it means not living inside the queue, not treating every message as an emergency, and not sacrificing the work that prevents tomorrow’s questions.

You can answer users generously without offering them every minute of your day.

That is not reduced service.

It is how a solo developer stays capable of providing service at all.