Can relate, I've been in a similar boat running a small B2B Saas over the last 2 years. It does get easier over time.
I've learnt a few tricks for managing early stage pain points.
- You need to develop a polite but curt tone of voice for customer support.
- Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.
- Invest in good docs, even if you're not running a api saas. Good docs + consistent ux + rock solid support will solve most of your support issues.
I think a lot of literature around running a online biz has been boiled down to rather basic advice and its hard to find anything solid in this area. I've been running a small blog where I document these issues(operational.co) if anyone wants to check it out.
>You need to develop a polite but curt tone of voice for customer support.
And very focused responses in terms of action items.
You might think of 3 things to say, check, but sadly 90% of the people you respond to with a list will behave like they read just one of them. Sadly this also leads to dragging things out for everyone who can handle more than one thing at a time :(
Me: This very specific thing is broken in general for your product when I do a and b. Just like users x,y and z report on <random forum>.
(Siemens) Support: Before I can help you, please find the serial number via <tedious procedure>, and the exact version of subsystems <x, y and z>.
Me: Here you go, though I fail to see how my specific setup is relevant as the problem has been reported on forums for years, and it is easily reproducible
Support: Please update to latest version x.
Me: Version x has known regression which will break the machine for the customer. I did the 1 hour procedure anyway but the issue is still present.
Support: Please execute this <obtuse command that runs a trace> and download the log from <airgapped machine> with SCP
Me: O well, did that here is the file. Don't understand why you can't run it on your machine
Support: Please try <irrelevant thing>, reboot (wait 5 minutes) and run the trace again
This is me almost every time I interact with ISP support.
Except… recently I completely misdiagnosed something. So while I was getting politely frustrated with the support clerk, he was stepping me through a set of irrelevant seeming procedures which, indeed, resulted in identifying that a piece of hardware was broken.
In this case it was the fiber to Ethernet adapter my ISP uses. He needed me to verify that, at every step of the way, pieces of my infrastructure were not the cause of my flaky connection (they weren’t). However, as a final step he had me reboot the adapter and it didn’t start back up. Turns out this is a rare failure mode and the flaky network I’d been seeing was an early, year long, symptom of this issue.
I had DSL with a router and modem. I never had problems with it, never required reset etc. Over the years somehow I forgot and thought it was a combo router and modem.
Then when I finally had a problem, I insisted to customer support I had done many power cycles already. They scheduled a tech to come out, but I realized my mistake before it went that far at least.
I went as far as going out to one of the local metro offices for my ISP in the city, to demonstrate some bizarre problem that I was experiencing with my combo router / modem.
I was actually able to demonstrate the issue in person, and everyone was scratching their heads trying to figure out what was going on.
I decided to try factory resetting it as a hail mary... and instantaneously I got a perfectly functioning ADSL connection.
It would have been far less embarrassing for me to have thought to try that and make the effort at home. lol
Is Support just completely disconnected from Engineering? Do they not have a way to report issues and indicate that many customers are having a specific issue?
Does the company believe that giving a customer a runaround will make them less upset than saying "Sorry, this is a known issue. We're working on it but do not have a timeline"?
Certainly at some point, some support person is going to be like "Huh, we have a lot of customers complaining about an issue, and our usual flowchart script doesn't seem to resolve it" and try to work it up the chain, right? Or does it get to their manager who says "Meh, that's an engineering problem, not a support problem. Get back to your tickets!" and never pass it up?
If you're working with a large company, Support is outsourced to a bunch of people reading scripts in Manila/Bangalore, and the external company employing them is actively incentivized to never resolve the root cause of any issue, because doing so would mean less tickets and less billable hours.
In my first job in a software maintenance project, I was overenthusiastic and was closing issues left and right. My manager called me to his office and told me that if I solved all the issues, the project will need much lesser people when they renew the contract, which might lead me, the junior most person, to be sent to the bench until they get a new contract.
Sounds like something that could be turned into an opportunity. Immediately start looking for a different job, and on the interview explain “I left previous job because I was too efficient at solving problems. After X time, there were no outstanding issues so I was no longer necessary. I’m looking for the next place where I can make a difference”. There are plenty of places that see fewer issues a positive.
To give you the other side of this, I have had service providers obviously do this to us. It didn’t result in more billable hours at renewal. We just systematically moved teams leadership to a competitor - we have found that mixing companies of origin in teams keeps everyone more honest - and removed developers we thought were not meeting the productivity standard we were looking for.
Cheating your customer is a dangerous game. They are not dumb.
It’s not that we were inefficient, we got some 80+ tools to support without any knowledge transfer or documentation. We got regular issues, and I was digging to find the root cause and solve them for which apparently we weren’t paid.
This is the usual response when a companies customer numbers start to scale up so far that the volume of users like the ones in Vegenoid's parent comment start to overwhelm the support staff. Keeping up the good/decent customer support that you could give to your first few hundred or perhaps even few thousand users eventually becomes ludicrously expensive or even impossible.
Then the original article's "Keeping this running and supported is shit. People are idiots and time wasters! Automate all the things!" stage kicks in.
So "first level support" is created, who's main objective is to get rid of support requests with the minimal effort by the least skilled staff possible. So everything is written into a script that call centre employees are required to follow. Low skill minimal wage staff are required to ask stupid things like "Have you tried reinstalling Windows?" and getting a confirmation that they have - before any support request is passed on to even a junior or intern developer. At this stage nobody gives a damn about users who need help, and they outsource that work to other users on the "community forums" and the entire support team is fired.
(Google, of course, being a world leader in both webtech and customer acquisition, completely skipped the "provide decent customer service" stage and went directly to the "don't give a damn about users" end game.)
Yes. Engineering time is expensive. Support exists to resolve problems without needing engineer time except when the company thinks that the problem is worthy of being addressed.
The tendency to wall off engineers is often taken to a counterproductive level.
Obviously, not every support ticket requires engineering attention. I would wager at least 90% don't. In the case of B2C businesses, likely 99.99% don't, considering 80% are customers that simply need a password reset and can't figure out how to do the most basic Reset Password -> Open E-mail -> Click link -> enter new password flow.
But there's a line SOMEWHERE. The few tickets that DO need engineering time REALLY NEED IT, and it's completely asinine that in some corporations, it's impossible.
If, for example, 100 people are talking to support for the exact same crash, and people in support are able to reproduce it, it needs to go to Engineering, rather than support telling customers "Have you tried formatting your drive and reinstalling everything from scratch?" when they already know it won't fix anything.
The best place I ever worked had fairly sophisticated, formal channels for noticing when a cluster of related-looking problems happened repeatedly, and escalating that to engineering for a fix. It also had open Slack channels with engineers and product managers in them, and some informal understandings about what type of problem was appropriate for support or professional services to bring up, there.
That combination kept the customer-frustrating bugs quite low, while still allowing engineering to keep developing new features at a fairly rapid pace.
(and then we got purchased by a PE firm and dismantled)
I think sometimes the company doesn't know what to do or doesn't care. But they have to make some response. So they just ask you to do a load of busywork, to keep you out of their hair for a while.
The other side of the coin is that support gets an ocean of lazy/unrelated/confused support requests that the engineer cannot help with, and responding and explaining that eats up a huge amount of time. I don't know that I agree with putting up barriers to reach support, but they are trying to address a real problem and I get where they are coming from
i remember we had similar issues at my 2nd to last job a bit ago. we would often times try to reduce the friction, but it built up and built up until, one day, there was zero chance of reaching anyone worthwhile. i wish we had gone back and really focused on providing as much support as we provide in product!!
sometimes we're aware of an issue and management has decided its not worth the effort to actually fix it, but also management doesn't want support to straight up tell people we wont help you, so they basically obfuscate
> Is Support just completely disconnected from Engineering?
Support is almost always tiered because $$$. In an ideal situation (hello GitLab!) tier 1 they are friendly and competent triage artists that can redirect lost customers and handle the common basic cases. Tier two is essentially an experienced and skilled tier 1. It's not until you get to tier 3 that you reach an engineer, usually one dedicated to support. That engineer is the one who reaches out to the operational engineering team if needed.
These flows are intended to dissuade problem reports, because the business is too big to care.
I once reported a ui bug to Discord(the game chat). This is how it went.
- me wrote an elaborate email and screenshots of the problem with step-by-step guide to reproduce it
- support responded me by asking build version, my os version, device type
- me screenshot all the requested details + manually wrote down in response email so someone can also copy-paste somewhere directly from my email
- support responds by asking me to clear my iphone cache(sending me a guide for Android's App data cleaning process) and see if issue persists
- me respond that it is not Android and since I knew what they will ask, I have uninstalled, reinstalled, logged-out, logged in and documented the whole process by recording my screen while doing it
- support, please try to logout, then uninstall and reinstall again
- me begrudingly do it again(record screen), send them everything
- support, could you try updating your device OS?
- me check for updates, iOS says it is latest, me send screenshots
- support, can you try disconnecting and reconnecting to your network or rebooting your device?
- me follow the steps(by recording my device using another device) and send it back
- support, can you try factory resetting your device
- me get pissed off, I mean c'mon, the issue is that, the client is incorrectly handling the on-screen keyboard events and has nothing to do with my device,
but giveup anyways and write on twitter that I tried to report an ui bug, is there some engineers I can reach out to?
- twitter official DM me and what do you know, it was the same person who was responding to my emails and tells me, if I tried resetting my device to factory default, else they'll close my ticket as not reproducible
I just gave up and uninstalled discord. I mean, sure there are lot of useless problem reports, but when your user goes on to extreme lengths to document an issue and cooperates, please take it seriously.
In most cases, the whole script is intended to deter the less patient consumers/users and not actually solve any problems. In some cases, the support is just an outsourced team with no connect/contact with actual team or the product.
As mentioned in another comment, support shouldn't be entirely disconnected.
If a customer seems to have discovered a legit bug in the software, there needs to be a path from support to engineering for the bug to get reported.
At the very least, support staff should be willing and able to attempt to recreate a bug that a user is reporting, rather than asking them to completely wipe their device and install everything from scratch for something that is easily reproduced.
Let's take a very simple example. Imagine you've got this Chess app, and whenever someone creates a checkmate involving two bishops, the game crashes, 100% of the time, but only in cases involving two bishops. Sure, maybe the first ticket you get, you go through the workflow of reinstalling, etc. But by the time you've got 100 tickets all saying their game crashed on a checkmate involving two bishops, that should have been escalated to engineering. At the very least, support should be saying it's a known issue. Honesty is going to be a lot less frustrating than to be told to take steps that both sides knows won't fix the issue.
What do you do if you are incorrect? It has happened many times that a customer calls certain they know what the issue is and even if the customer is well versed in that field he may be wrong.
I hop on video and do screen share. It probably takes less aggregate time, they think they get special treatment when really I'm just saving time and I know how my stuff is being used more.
Them: Don’t close the ticket, I hadn't had a chance to check that yet.
Life gets in between and this one library or project is usually hardly the only thing that person juggles. We need to accept, that sometimes issues remain open for an extended duration. The worst is, when you have the same error or issue someone else had already, but their issue got closed by an effin github bot, that automatically closes issues, because someone hasn't replied for a day or two. Like, you are not the center of the other person's life. Just like no one forces you to work at no cost for others and help them, they should not be forced to give undivided focus to your project's issues.
Having bots close issues, accompanied by a rude automated message is often contra-productive. It would be fine to instead post a reminder in the issue, asking for an update like shown in the example:
Me: Just checking in to see if this is resolved?
This is actually a very polite form of handling it.
This. Usually if you are looking at tickets closed, that means you are using that as a metric, which is a BAD idea. Ticket lifetimes and movement are more appropriate metrics.
What I find really infuriating is when I was the last person to post on my issue, and I'm waiting on an update from the maintainer, and the github bot threatens to close the issue on me for not posting any updates!
I've started replying to it with "No updates here." to reset the timer.
I almost never see bots close issues that are less than 30 days old. Many projects can change a lot in 30-90 days and the bug may no longer exist, keeping issues open when they may no longer be relevant isn't helping anyone either. If it is still relevant, it can simply be re-opened. I don't see any downside to semi-aggressively closing stale issues. If it's easily reproduced then most good projects will mark it so that it won't be auto-closed.
> If it is still relevant, it can simply be re-opened.
I've seen places where tickets were not allowed to be re-opened. If a ticket was closed for any reason at all besides a misclick, a new ticket had to be opened with a link to the old ticket if necessary.
Automatic closing tickets is a solution looking for a problem. Humans should close tickets when they're resolved or no resolution is anticipated or planned. Putting an arbitrary number of days on it with a one way trip to the [closed] tag is like following a broken clock because it's right twice a day.
Usually it can't be reopened because you can't even really get someone to look at it, because issues are wrongfully closed so frequently that they don't pay attention to complaints about the closures.
When I see some bug like this I do wonder why don't more people fix the issue themselves or think that it might be specific to their setup or accept a little random lag.
If I received a bug like that I would immediately think why are you telling me this... just fix it yourself and share your fix if you want. I probably have higher expectations from my users. You give the software away now they want you to fix it for them.
> If I received a bug like that I would immediately think why are you telling me this... just fix it yourself
Then you're part of the problem.
I am far less equipped to handle a bug like this than you'd think. It would take me so much more work and time than asking someone who already knows the project and how to work on it.
If I did this for every bug I reported, I wouldn't have a job because I wouldn't have any time left for one.
You know, this is also my issue with Linux. The attitude is generally that if you want to run Linux, you are expected to do anything you need completely on your own, including fixing bugs. This is why macOS is my preferred operating system. (Not that I can run it right now...)
I'm of course not entitled to anything from you (or anyone), but the one thing I won't do is fix it myself.
I don't really want to be a hacker right now. I've tried. I can be, but it rarely pays off for me. Not even financially, just emotionally.
I had this experience with an online game crashing. This is a game I play all the time, which recently recieved an update that adds a kernel level anticheat program. The game would start and then black screen, and I would get a null reference exception popup. Audio and input would continue without any graphics. To me this likely indicates a lack of init result check on some pointer that gets passed to a graphics init function, and then they try to access the pointer that was never assigned to. (my guess anyways)
I was punushed for "leaving" the game, banned for a couple weeks, and sent an obnoxious email about my bad behaviour. I reached out to them on customer support handfuls of times and was always given a list of three steps such as "upgrading graphics drivers", "ensuring i disable my firewall", "using a pc with high enough specs" (my machine is ridiculously overspecd) and things like that. I would follow the three obviously pointless steps, and then be given another set of obviously unrelated steps. This went on about five times over a month.
At some point I just told them, look im a fucking game developer, give me a log dump tool, or a build with debug symbols and I will fix it myself, and finally a real human showed up and actually sent me one. I recreated the bug and sent log captures but they wouldnt let me help beyond that. Then at the end they still scolded me for "leaving" the game.
I dont blame the average person for expecting customer support to be unhelpful or a robot by default, and not following steps.
We had a Salesforce consultant who was like this. I'd send him a list of five things he needed to do to make his jitterbit connection work with our internal API.
He'd do one thing, report that it still didn't work. I'd ask if he did the other four things. He'd do the next thing, report that it still didn't work, etc.
God only knows how much that department was paying him.
_This_ is exact the place where a LLM could step in and could really help:
1. Customer describes the problem
2. You get the problem, parsed by the model, including a summary and a suggestion what could help.
3. You write "do that 3 things"
4. The model tells the customer to do the 1st, then the 2nd and so on
5. The model reminds the customer in intervals that things are not completed
6. the model notifies you after the 3 things are done and the issue is still there.
You don't need an expensive, opaque, antisocial system to run interference against your users. What you need is literally just a checklist.
Give the user a checklist instead of just freeform text -- where they can check off the three individual things to try. When they've checked them all off, they can go back to the well for another response from support.
I’m observing this for many years and it feels like there are two types of people. Those who perceive lists as a whole and those who list.shuffle().pop(). Try asking your colleagues/etc three semi-related questions in one message and you’ll get only a partial answer in a significant number of cases. When confronted (constructively, much later) they usually get evasive and can’t explain. I could theorize it’s a learned behavior to avoid threaded pedantry or something, but my messages aren’t even long and other people share my frustration too (we communicate 10x faster and clearer between us). I’d write it off to attention capacity issues, but these people often aren’t even busy at all.
I'm pretty sure it's because they're not paying full attention, even worse, sometimes already building an intense narrative with only few items internalized inside their brains.
I also feel that this is happening more and more, since there's more rewards for giving very small pieces of attention and energy to a bigger pool of people, instead giving extra energy or attention to a smaller pool of people seeking for one's help.
I'm just facing this with a contractor doing repairs in my house, a month ago was finding a decent mechanic to fix just 2 issues on my car.
The first promptly finds energy to discuss things it receives through social networks or messages, but can't provide a decent list of things that I need to provide him to finish his work faster.
The second case took a lot of time and discussing with 6 different mechanics, until th car broke and it was towed.
That actually sounds like a good idea for a technical support app:
The only interaction possible is they can tell you the problem, then you can give them a list of things to try, and they can do nothing but give feedback on each step, in order, and you arent bothered until they at least respond something for each step
I'm starting to think Humanity's problems are not technical in nature. I don't see how to even think about forcing people to help themselves.
This is obviously satire, but we could make every internet app completely modal: once you start a flow on any site your computer prohibits you from starting any other flow on any other site before you complete the previous one.
Or simply their priorities are not your priorities. They have encountered a problem, they asked for help, but they have 10 other things going on. By the time you answer, they have forgotten half the context of the issue. They try one thing, it doesn't work, they don't have more time right now so they answer that thing 1 didn't work. Repeat.
I find most people suffer from at least one (and more commonly two) of the following: insufficient attention to detail; poor time management; and bad organization skills.
This is especially true in the trades. If you're able to:
- be on time
- respond to emails/texts, and especially: phone calls
- give quotes
Then if you're even halfway competent, the world is your oyster. Please come do work for me!
If you can manage people and budgets, you can have more work than you'll know what to do with (assuming there's work available).
The inability of many people to focus their attention and prioritize their work is shocking to me. This isn't just for the stereotypical "younger adult" either, this seems to apply across the board (and especially to boomer-aged adults!).
.... I also found this link while looking for the above article, https://www.quantumbalancing.com/news/bluetape.htm . That's. ... just... well. Not what I was looking for, but was so remarkable that I thought I would link to it here. I suppose they have probably sold some of their devices. I'm curious to know what the insides are like, but not curious enough to spend $1k+.
Oh, no. It's not a shuffle. They unerringly identify the least important possible action item. Sometimes just a single clause of a single sentence in a list item.
You have to scour your communication of anything that can possibly be interpreted as an easy request. It has to be a curt, imperative, isolated, request to do something hard or it will be ignored.
At my last job we had a customer who was famous for doing this. Since he generated a significant amount of sales, we couldn't just sideline him, so I learned to only ask one question at a time on email. Otherwise, if you asked e.g., three questions, it was a complete tossup as to which one he would decide to answer, all the while reminding you that this was a "hair on fire" issue for him.
Compounded with the fact that he was on another continent, multiple time zones away, this made debugging anything a difficult proposition.
We had another customer for the same product in the same country who had absolutely no problem answering whatever questions you asked him, in as much detail as he could supply. It has to be a personality thing.
I think this issue is a lot of why ChatGPT feels smart to me. It actually parses all the parts of what I say and tries to respond to it comprehensively. It doesn't always succeed, but it's usually better than my experience asking a multi-part question to a random real-life person in a support role.
I really wish there was a reliable way to ask people.
"I need your engagement level to be set to 10 for this communication. It's ok if you can't do that, but then just say you can't do that. I'm already set to 10 and rando guesswork / tidbits are only going to cause problems."
Even just "nope can't do it" responses would save me time.
I just got off a critical call with folks pulling stuff out of their ... and it was a nightmare / complete waste of my time.
I think that's unreasonable to ask for just about anyone. The only time that's going to work is if you're helping them with an issue that's critical to them. Otherwise you are never going to get their full attention, it even close.
Much easier and safer is to drill into your own head that your own engagement level may be at 10, but the other person's is probably going to be more like 2. And that's fine.
> I think that's unreasonable to ask for just about anyone.
Notice your parent doesn't say "you must be at 10," but rather "let me know if you can't be at 10." I think that's perfectly reasonable, as long as you're willing to accept almost always getting "no."
> Much easier and safer is to drill into your own head that your own engagement level may be at 10, but the other person's is probably going to be more like 2. And that's fine.
But sometimes that's not fine! For example, if you're giving a list of instructions for some safety-critical procedure, it's not fine to find out later that the nodding "uh-huh, uh-huh" actually meant "I'll do what I remember and what sounds easy," and it's much better to do nothing than to proceed with partial information.
In written communication it often works for me to create an explicit numbered list with indentations and plenty of white space between the items. It also makes it easier to refer to the items in the following communication.
There is a Youtuber and AI safety researcher that I support on Patreon's "poor person tier" and they were gonna do a Q&A video so asked us to offer questions for the video, so I offered five in one post as a list.
They wound up answering every question in my list of five, spent enough time on some of them that I think that may have been part of the motivation for them to break it up into two videos, and even emailed me the answer to the one out of five points they didn't address in the video.
In contrast if I render a list at any of my colleagues or vendor dev teams there is a <20% chance that they will address or even acknowledge 2 whole separate items out of the list, so the points they don't address get frequently brought back up again and dropped again. :(
So AI researcher has..
..list comprehension.
(YEAAAH!!)
This comment should be three paragraphs. As written, it’s very hard to read and I get lost.
If this was a professional communication and you had asked three questions, I might understand one or might not. Now I have no issues saying “dude, your writing is very hard to follow.” But what if your colleagues are nicer than I am?
Or just spitballing. You’ve admitted that you’re the kind of person who will set traps for your colleagues. What if they’re just sick of your shit but are too conflict avoidant to say that?
Okay, different person as the one you responded to. Your entire comment was reasonable up until the last line.
What is that even based on? Where did they admit to setting up traps? Is that your take on their comment about trying to ask three questions in one message?
Because, even without them creating paragraphs, it is abundantly clear they just mean that as something from experience. Not something they do as something to spring a trap on people.
“When confronted (constructively, much later) they usually get evasive and can’t explain.”
Confronted is a big word with a hostile intent. They’re incredibly measured in their language and use precise language. That sounds like a trap to me - it’s:
A.) Asking three questions and only get 1/3 answered.
B.) Waiting for a suitable period of time to elapse.
C.) Confronting them while expecting an explanation.
Letting time go by, “confronting them” and expecting an explanation is a trap. It assumes that they can even remember the conversation! Why not send a follow up email immediately and politely ask again? Heck, that’s a good excuse to use “circle back” in conversation. :)
If you missed that first read, no worries because so did I. I had to read the comment three times and then I kind of shaked my head because they are so measured and precise, and that’s an awfully big statement to make about colleagues.
Confronted isn't necessarily a hostile word. It is a very apt word to use for the action off asking someone about the other two points. They even made it clear that it was in a constructive manner.
May I ask, do you often feel like you are operating in a hostile environment?
You’ve admitted that you’re the kind of person who will set traps for your colleagues
We were all close and could discuss “meta” from time to time, in a friendly constructive manner. You’re probably reading more into this aspect than there is.
I worked at a tiny startup with a single customer support plus sales person—she had an array of fake names that she'd use for different purposes (billing, sales, tech support, etc) to try to simulate a larger org. She actually kept them all straight and apparently it worked.
Is this very specific to the culture? In many cultures, there are standard written greetings that always appear at the start of a letter or even email response.
Recently, I canceled a subscription for a newspaper, they make you go through chat to cancel. The agent was so nice that it was annoying.
I don’t mind waiting in silence, but when they keep asking about weather, vacation plans, etc, I find it hard to not respond. This might part retention technique though.
Outsourced call centers obsessing over dumb metrics like "dead air" and "hold time". They think you are gratified by obsequious groveling and fawning reassurance. There is always some guy in management who gives pep talks about improving outcomes by avoiding words like "can't" or "impossible". He demands improvement to an already satisfactory situation, and so they scramble to out-customer-service themselves.
I think in the era of LLMs good docs/FAQ are of an even greater value.
You can write a support bot that sends a user's question + docs/FAQ to an LLM to automatically deal with the basic questions and only involve a human in the loop once a question goes beyond what's in the docs.
Even if users don't read them of their own volition, they're still valuable. You can copy/paste responses from them, link to them, or hell just use them to remember the answer yourself later without having to confirm it or even think about it.
Both xyproto and Gustomaximus have solid examples.
Here's more:
- Be direct,
Hi, the xyz feature is available on the PRO plan. You can upgrade to the PRO plan at app.saas.com/billing
- Be brutal,
Hi xyz, your card couldn't be charged for your Saas subscription, and hence your subscription has been deactivated. To reactivate, enter your card details app app.saas.com/billing
- Be honest,
Hello xyz, thanks for the feature request. We'll put it in our wish list but can't guarantee it will make the cut.
- Be generous,
Hey xyz, thanks for pointing that out. We have identified that as a bug and have pushed a fix for it. In the meanwhile, I've extended your trial by 7 days, on the house.
Couple of other tips:
- Dumb down your reply as much as possible. If you can't, throw your reply through chatgpt and make it dumb down.
- Unless a support issue is very basic, reply after a few minutes if you're near your computer. Usually users figure out things on their own if given some time.
- But don't allow issues to go stale. To really wow customer service, reply as humanely quick as possible, especially for existing customers.
- Make your support timelines clear somewhere in your product, eg: Our support will respond within max 48 hours, but most responses take 2-3 hours.
- Make your terms and privacy policy pages clear. People do read this. getharvest.com is a gold standard in this area.
Just wanted to say thanks, I think you've given great advice. In particular this bullet point:
> But don't allow issues to go stale. To really wow customer service, reply as humanely quick as possible, especially for existing customers.
As a customer, the absolute worst possible thing for me is to be left in limbo, not knowing if my problem will be fixed in the next minute, hour, day, or never. While I may not be thrilled if the answer is "never", at least at that point I can move on and know that I'll need to solve the problem some other way.
But if you respond consistently quickly, then some lazy customers will email you rather than bothering to look in the documentation. So there can be a downside to being too responsive.
> Make your support timelines clear somewhere in your product, eg: Our support will respond within max 48 hours, but most responses take 2-3 hours.
This is the biggest thing I struggle with. I have a couple of semi-successful side projects. They bring in some money, but not enough to hire someone to help with support. I have never been at a place in my life where something like "I will response to all support requests within 48 hours" is remotely realistic for me. I'm lucky if I get to a support request within a week or two.
I don't know what the answer is beyond just "don't sell products", because I hate dealing with support more than I enjoy making stuff to sell.
Sometimes it's valuable to receive a (clearly non-automated) support response indicating that the message was received and a proper response is in the works, just to confirm that the support channel is actually still functional.
Even just confirmation that the website form isn't a black hole and that support tickets aren't now exclusively accepted through Twitter, Instagram, or a secret discord server can be very reassuring.
A large part of my job is end user support in a corporate environment. I always do this - even if I know an issue is going to take a while due to me having to reach out to other departments/a vendor, wait for an answer, and potentially go back and forth, I always reach out to let people know I got the email, that I'm working on it, and that I'll reach back out when I know more. If possible, I also suggest workarounds/alternatives for them to use/do in the time while I'm working on the problem.
Thanks for reaching out. The issue you’ve described seems to be on your end. Please check your settings or consult our docs for further guidance. If the problem persists, feel free to get in touch.
Take my advice with a grain of salt, as I am a customer rather than someone running a product with customer support.
I would say this would only feel justified if the product pricing page already had clear tiers outlined for paid support. Putting a price per hour on customer support otherwise would make me feel like I am just being milked behind closer doors for more money, and non-paying customers are getting shafted. If a paid customer support tier is something you offer, imo it should be clearly outlined on publicly available pages with explicit explanation about the differences between free vs paid customer support. You suggesting it in private communications only would feel suspicious and shady to me as a customer.
However, if the customer themselves suggested to pay you extra for that personal support, that’s a different story.
I'd 100% expect that to be a template from someone who either has no clue and can't investigate, or has 200 other tickets to get to and couldn't be bothered to look into a case that isn't in the FAQ. It also does not say what makes you have this assumption and so it works only as a brick wall to alienate any customer goodwill you may have built up. Please never write this unless it's self evident why it's on the customer's side and you have good reason to think they're just trying to annoy you by reaching out despite that
From the sound of it, the politeness is the shallow politeness that you can easily get with ChatGPT. The curtness is defending from the users expecting too much, which can include delaying handling issues before properly checking if they're real. I experienced this with Vercel and it probably makes economic sense for them. (BTW I really should cancel my Vercel account but haven't decided to take the time to migrate yet.) https://x.com/search?q=vercel%20benjaminatkin_&src=typed_que...
The reason it can be framed as curtness is because they're being curt about the expectations, and the real expectations are pretty low. "Sure, I can delay really addressing the issue for a couple weeks. You're only paying me 40 bucks a month, why would you expect more? The goal of responding within two days is just for a canned response." See, they were curt and didn't let me demand something more than I deserved, like being able to use the product I'm paying for in the next several days!
> - Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.
Interesting. Anything you've automated successfully that you can share? I've heard so many times that you should hold off on automating too early because constant pivoting and refining can end up making you spend more time fixing the automation than actually doing the work itself, so I kinda paused on it. I can see how it would make a big impact on my marketing outreach, which I'm doing manually right now with not much success.
Spending some time to learn technical writing (if you want to bootstrap a saas) is worth its weight in gold (same with marketing, business admin, accounting).
Ive had tremendous success submitting files to AI and just having it produce a structured readme.md for the logic within the code, I'll do a thing where I say Give me a readme, include description of functions, logic, how its invoked, dependencies, monitoring and give me a mermaid and swim diagram of the workflow.
Its great.
Another thing I do with an AI helper is when I have it write out a function for me I have it write out the descriptor that can go in the readme for that function. I also have it write a header with version description path etc.
It was an experiment which started with the goal is to have all the code for a simple project with its associated readme functions loaded into a textai workflow and postgres DB and I can dynamically call the readme functions for everything by having a bot yank all the MD table for all the functions and just put together a real-time readme. As I add txtAI workflow scripts, they put their MDs into the DB, I try having it spit a JSON of its MD to a mongo?
The point is playing with ways to have the system self document as I/it develops.
Because one of the ways I have been using Claude to learn is through a F-ton of iterating on an initial thought and bird-walking through implementing a tool wrapped around it.
This way, as I iterate through many many version of a concept or script/function/api/crawler - it keeps a reminder readme for when I want to know what the heck was I thinking (I have had super awesome moments of brilliance, and then after a sleep or lengthy distraction - totally loose the Mode and have no idea what I was doing, or how I came up with BrilliantIdea(TM)
EDIT: One thing I attempted was to have claude keep a running artifact for a readme while I worked out a problem - but that didnt work so well. Also, as it hallucinates, one of the first indicators that its losing context is that I keep a header section on artifacts it makes and a version and description ad path for the artifact...
when iterating and the header gets stripped in the response, the bot is taking a turn...
Sometimes ask it to spit out the full context and its understandings in a manner I can use to re-prompt itself for best efficiency, and it gives a nice summary of the concept I am thinking through, and I use that with vary degrees of satifying results.
One suggestion is simply increase the price. Price is strongly correlated with quality of customer. Price also acts as signaling that this is a tool for professionals who make actual money and so shouldn't be bothered coughing up something trivial like $100 for a subscription. You end up making more with far less customer support.
Raising prices works wonders when a product is both underpriced and hard to replace.
It can backfire when the new price point bumps it into a different category of decision making, though. For many, a $20/month product is an easy decision but $100/month price tag bumps it to a point where it becomes a more complicated decision making process. If you're not careful you can easily raise prices so much that people decide to jump to a more full-featured competitor product.
Projects like this one that are personal/side projects have an additional risk of raising prices: If the product becomes expensive, many people are going to notice that it appears to be highly profitable while also being within the realm of what a single person or small team can produce. Competition starts appearing quickly and you're back to cutting prices to stay relevant.
Finally, higher prices come with higher expectations from your customers. Whereas previously they might shrug off a slow response to a customer support request at $20/month, their $100/month service might lead them to expect more customer support, not less.
There are several indie SaaS companies that get posted on HN from time to time that take the opposite approach: They offer a low price but they're up front about what to expect. They don't try to pretend that you're getting world-class reliability, uptime, or support, but they do commit to offering a good service at a fair price. They could raise prices to match competitors, but now they're playing a very different game with very different expectations.
I agree with most of what you said, but there's significant nuance to this piece:
> Finally, higher prices come with higher expectations from your customers. Whereas previously they might shrug off a slow response to a customer support request at $20/month, their $100/month service might lead them to expect more customer support, not less.
This is potentially true, but there's other effects here too:
- When I was doing software and hardware consulting work, the people who paid the most were also the happiest customers. It felt paradoxical for a while until I really let it sink in and stew. Most of the high paying customers would just kind of... take my work products, say "yup, this meets the requirements we agreed to", and run with it. The ones who were paying the least were the most likely to pull the classic "well... is what we agreed to but... maybe you could move that button over to the other side and I've got this other feature idea that we didn't talk about, oh and I don't like how this works... it might be what we agreed to but it's not how it worked in my mind..."
- It sounds like OPs customers took that to the extreme with "customers" who hadn't paid anything at all yet being demanding.
- By going up-market, you can lose customers for sure but it might be worth it anyway. Given the support burden it sounds like 1/5 of the customers at 5x price would be a net win. Especially if it tracks my experience consulting where the remaining high paying customers are happier about your product in general. If you still maintain the same per-customer support burden or even have it climb some it could end up being less work overall.
> Most of the high paying customers would just kind of... take my work products, say "yup, this meets the requirements we agreed to", and run with it. The ones who were paying the least were the most likely to pull the classic "well... is what we agreed to but..."
Drawing on my experience: perhaps the high-paying customers are being represented by dedicated buyers/executives who do not actually use the product themselves day-to-day. So they're happy as long as it _can_ perform its tasks, even if it's slow or clunky to use - they're paying the workers for 40 hours/week regardless, after all.
Meanwhile, the more tight spenders are more likely to be small businesses where the person making the purchase is also a regular user, and any UX flaws will drive him mad every day.
Or just give yourself permission to not reply to people. Make a big visible unsubscribe button and relax knowing that anyone can just quit if they don't like it.
I find it hard to believe that this is true. For 100$ a month I expect a far more polished product than for 20$, where I can look over a lot of missing features.
If features don't work as advertised, I will absolutely make no distinction between a 500$ or 1$ product, and will demand a fix. But I will more likely have more patient if the service is cheap, before migrating away.
And then, if your customers are businesses, do you think the employees really care how much the product costs? No.
>For 100$ a month I expect a far more polished product than for 20$
I hate to put you on blast but this is exactly why people charge $100/mo instead of $20/mo. They do not want the customers who feel (sorry for the term) "entitled" to a heroic level of features, support, polish, etc. They want people who have a hair-on-fire emergency that is so awful that they'd gladly pay $1000/mo for it, and are thankful that your software - klunky as it is - is giving them $900/mo of free value.
because it's a subjective very negative judgement about another human, and in polite conversation one should assume baseline positive things about other humans. it's basically like calling someone an asshole. as HN as a culture of politeness, you apologize first, even if it's justified.
Semantically you are correct, contextually it had the potential to be rude. Words morph and twist in meaning all the time, based on context and individual interpretation. It was not that weird to apologise for calling someone entitled. It is often used as an insult.
Serious question, especially if there’s follow up reading. Where does that principle of assuming baseline good things about the other speaker in polite conversation come from?
I suppose it's an underlying principle of good faith discourse. And good faith discourse is an absolute requirement to have a meaningful conversation or debate that moves (whatever) things forward.
Part of the reason that political discourse is currently so polarised and pushes us towards bad outcomes in our societies (thinking particularly of US and UK here, but I'm sure it applies elsewhere), like the recent riots in the UK, is that so much of it is bad faith, dishonest, assumes the worst of others, casually alienates to score points, etc.
you know how people judge you harshly if you're mean to service employees, I think that colleagues and professional acquaintances will expect the worse out of you if you say bad things out of other people, because they're also in a contextually forced (through work) relationship with you, and if you're a psycho they're going to suffer from it, and they have limited info to judge you from
Having run my own tourism business (so dealing with consumers directly, rather than b2b), and having spoken to many other business owners, this is counterintuitively true.
My worst customers were the ones that ask for discounts, or are otherwise looking for a deal. My theory is that people that happily fork out for an expensive product have already seen the value.
There are exceptions, but a lot of business owners see the same pattern.
> My worst customers were the ones that ask for discounts, or are otherwise looking for a deal.
I get where you're coming from, but it's hardly surprising that a business's favourite customers are those who are happy to get fleeced.
And as a customer, if you're not already a subject-matter expert, you have no idea which business is trying to fleece you or not unless you price compare and try for discounts everywhere.
If you think getting charged asking price is getting fleeced, then you are kind of illustrating my point. I don't want a customer that thinks they are getting fleeced by doing business with me.
I don't want a customer who thinks that paying asking price for a product is me taking advantage of them.
I don't want a customer that thinks I am starting the relationship as an adversary rather than a partner in a mutually beneficial transaction.
I want customers that are happy. I can't make you happy if you already think what I am selling is not worth what I'm charging. We will both be happier if you find a different supplier.
The kind of people that look for an angle on every transaction are the ones that will be the biggest pain in your ass while asking for more than everyone else. That's the generally held wisdom for a reason. It isn't always true, but its true often enough that it normally doesn't pay to play the game.
> And as a customer, if you're not already a subject-matter expert, you have no idea which business is trying to fleece you or not unless you price compare and try for discounts everywhere.
Yes, be a savvy consumer. But also realize that if you go around looking for the lowest price and asking for discounts, you will end up with the cheapest product or service, not necessarily the best value.
> If you think getting charged asking price is getting fleeced, then you are kind of illustrating my point.
No, that's explicitly not what I'm saying.
Of course, you, as an honest business that stands behind their work, prefers customer who are happy to pay your asking price while not being a pain in the ass. But that's going to be exactly the same stance as your competitor who spends half the effort on their product and double the effort on marketing. They really don't want savvy customers to ask many questions, because they don't have a product to back it up.
I never said not to ask questions or to not ask about the product.
I said that people that ask for discounts or generally fixate on the price are, in my and many other’s experience, bad customers.
I’m happy to sit and talk about the service, the features, etc. I’m even happy to discuss pricing if there is a circumstance that merits it like a bulk deal. But a huge red flag is when people focus on price exclusively.
I tend to agree (gut feeling) that the claim holds true in tourism. But I wouldn't compare that to a software service, where people typically don't do evaluations and rate services on a completely different level.
We’ve also seen customer support inquiries, and in general quality of our customers, rise with an increase in price.
It doesn’t make sense as an end consumer, but B2B lens it makes sense.
If a business can afford the higher price tag, they most likely would rather have a hands off approach for the problem they’re trying to solve (in a service based business)
Many of our mid and lower tier customers want everything drawn out and explained, and give feedback at every step. Our higher tier customers pay faster, request minimal input (outside of times we ask for it), and generally much easier to work with
> We’ve also seen customer support inquiries, and in general quality of our customers, rise with an increase in price.
Yes, but it should be noted that the price is acting as a filter to exclude a subset of customers, reducing overall customer count.
Obviously it's easier to have 100 customers paying $100/month than to have 1000 customers paying $10/month, but finding those tradeoff points can be hard. It takes time for market signals to settle out and customers to churn away due to high prices.
I've been a customer of several SaaS products that embraced "raise your prices" so much that they slowly became a second-choice option in the market. It takes a long time for people and websites to stop recommending a product as the first-choice option after a price change, so these signals don't appear immediately.
100% agree, and in my case its a service-based business so overhead is much higher per additional client vs an additional SaaS signup.
And 1 problem client, even if they pay 80% of our higher tier pricing, can lead to major headaches across the board.
Something we learned (and are continually learning) is vetting clients as much as they vet us, versus just trying to get the sale.
Funny enough, being more stern on pricing, what we offer, and in general our boundaries of what we cover has led to higher satisfaction from clients and our team.
It's about creating a barrier to exclude unwanted individuals, similar to a gated community with homes priced higher than the average worker's budget, for instance.
Perhaps, but what's your idea of polish? For many developers, it's a shiny interface. Business users have much different metrics. Developers may get excited over "productivity"; business users are more focused on ROI (ie, quantifiable savings or profit)
The customer support efforts when you don't feel like it, being ghosted after helping a customer, the random or fraud disputes.
It's really tricky at that stage between hiring help and having the time/motivation to maintain those very non-tech parts while trying to continue doing other core parts of the side project / startup.
The first sale feels great, as does first showing the prototype.
By comparison, extra $100 MRR milestones don't feel so great, nor does dealing with customers/disputes eventually (it's a lot of negativity in general - pleased customers just leave reviews occasionally, negative ones email you). And a down negative month or two always feels like a stabbing and like it's all over.
Really don't know how to avoid this. Scaling quickly? Via investment in most cases? Maybe.
> The customer support efforts when you don't feel like it, being ghosted after helping a customer, the random or fraud disputes.
These three challenges + context-switching between marketing and product are really tough at the early stage.
I've found that growing a business from 0-1 is very formulaic - not easy but the roadmap is clear. Scaling one is much harder, especially without outside capital. There's a huge gulf between earning enough to replace your salary vs. hiring good people to take over lower-level tasks early on. And marketing usually ends up being too critical to outsource at first.
At least with digital products, customer disputes can always be settled with refunds, even when the claim is dubious. Eat the loss and move on. Physical product disputes really sting when you're out the cost of inventory + labor.
I wonder if there's often a mismatch between what one thinks a business is going to be like, and what a business is actually like.
One of the things that keeps me away from doing stuff like this is that I _hate_ every part that isn't the engineering part, and the engineering part is a minority share of what it takes to run a business.
We know the answer to this even before modern tech businesses existed: running a business is a very different experience from what people expect. This is exacerbated with certain experiences that create worldviews which are closer to the opposite of running a business.
This is why startup people straight out of school are often unencumbered with ideas that impact their mission. If you go into a large organization, you are exposed to a reality that can distort your perspective. It's a myth that people can't move between large and small organizations, but the differentiator is their awareness of and desire to embrace the current circumstances. Many end up preferring the luxury and ease of large organizations and fail because they don't make the switch. Many startup people don't make the move in the other direction (even if they are exceedingly successful and it might be practical move.)
Similarly, a desire to only focus on engineering is something you feel will inhibit your ability to run a business. Over time you might be able to discover ways to reduce your hate for the other work. People here love to prescribe advice for situations like this, but it's really hard to give good advice without knowing a lot more about you.
My solution largely came out of recognizing this reality. So I just don't do side gigs. I channel that energy into little tech projects that do not seek to be a salable product. So I make my living 40 hours per week, and then do the rest on my terms.
It was practically dogma ten years ago that the CEO that built the business was not the CEO that took you public. In the late '00s and a big chunk of the '10s they swapped board members in order to go big.
But if you kill the culture before the IPO, then you have nothing and nothing.
I don't think that 'everyone an entrepreneur' would increase economic output and productivity, and the fact is that some people just want a paycheck because they don't really care about making more money than the paycheck gives them, and the work is fine.
Indeed. I love that my career is a minor sideshow of my life. I love the stability of working about 40 hours a week and then doing what I really want to be doing with life.
It’s a bonus that those 40 hours don’t feel like work.
I imagine that the creative class was revered and feared. Potters had very low status making a commodity product that everyone needed. Hard to say what was going on.
True. If you want to spend all day programming, be a contract programmer. Don't start a software business - you'll spend a lot of your timing doing admin, documentation, websites, newsletters, accounts, support etc.
And if you get a partner, they will insist that the part that is engineering is even smaller than it objectively should be and end up leaving you with a minority position in the product you invented.
Usually if something isn't working it becomes a bottleneck so a lot gets built up behind it. Once the 'dam breaks' so to speak you're playing catch up plus you probably don't want to think about the problem anymore. This is also a reason things don't get documented.
Also its easy to verify that it doesn't work but hard to verify that it does. So often it might take time to verify that and when you're confident about it you've lost the chat session or closed the browser, restarted the computer, went home already etc.
Me too but I only ever do this unintentionally, and it usually corresponds with a delay in the reply from support coming back to me. (Ie I’m now focused on other things or have solved the problem a different way).
Whenever I’m conscious enough of it I do try to thank people - trying to remember how hard it must be on the other end!
A ticket system I've worked with in the past had an "autoclose" state where you could set the ticket to automatically close after a set date if no reply comes in until then.
If a reply comes with the info that it worked, I get a smile and close the ticket. If not, I never see the ticket again, no hard feelings.
Some advice: If you're going to monetize a side project, and you do it in a way where you're providing direct support, be sure the customer base it targets are people you actually want to deal with. Whatever the niche, imagine the worst people you've encountered on it, and be sure you want to use your spare time talking to them. Otherwise, the juice is likely not worth the squeeze.
That's good advice. Unfortunately though I think the nature of support is that on average it selects for the more difficult people in your customer base, for the same reason that doctors spend a lot of their time with hypochondriacs (despite hypochondriacs making up a small percentage of the population).
Something that helps to offset this psychologically, and is also a good thing to do anyway, is to proactively reach out more frequently to all your users. It can be the case that 95% of your users are happily chugging along, while 5% are unhappy and complaining frequently for whatever reason. If you rarely hear from that 95%, it can start to irrationally feel like no one is happy with your product, since that's the message coming from most of your support interactions.
I guess the old 80/20 Rule or Pareto Principle somewhat applies to the support distribution for many products. That is, 80% of the support resources are taken up by 20% of the clients. (incredibly-vaguely-speaking, naturally)
The variable is "20% of what type of client?". 20% of Taylor Swift concert attendees, or 20% of assembly coders? Each comes with its own unique challenges!
How do you ensure this? Are you suggesting more analysis pre-building the product, or doing things like increasing the price until you've effectively filtered out enough of the people you don't "want to deal with", assuming that works.
I'm sure there are good and bad people in all walks of life. But, yes, people in some markets are definitely (on average) less pleasant to deal with than others.
I love the ending of this story, which isn't obvious from just looking at the title. The author identified key pain points around customer support, automated them, and went back to enjoying life. This is the kind of thing that gets me excited about the possibilities of technology and AI as a force multiplier, especially when working on side projects, "lifestyle" businesses, or even startups as a single founder.
i've gone back and forth on this over the last few months.
I started out thinking that we've all been conditioned by bad customer support chatbots whose only purpose is to look up facts from the FAQ and then tell you to call the real customer support line to actually handle your problem. the problem was that the chatbots weren't granted hee ability and authority to actually do things. wouldn't it be great if you could aks a bot to cancel your account or change your billing info and it would actually do it?
but then i realized... anything with a clearly defined process or workflow like that would be even better if it were just a form on an account settings page. why bother with a chatbot?
customer support lines run by humans exist for two reasons:
- increase friction for things you don't want your user to do (like cancel their account without first hearing a bunch of sales pitches)
- handle unanticipated problems that don't fit into the happy-path you've set up on the settings page
My worry is that business dudes will get excited about making chatbots that can do the former and they'll never trust an AI to be able to handle the later. So I'm now of the opinion that having AI customer support will only be used to make things worse.
Customer support isn't paid well, so they often aren't motivated to become very skilled beyond the level of a chatbot before they move on to other things. So the interface to bad docs doesn't matter much. And good docs are very hard to produce. AI magnifies problems when good docs are lacking.
> aren't motivated to become very skilled beyond the level of a chatbot
Everyone has some amount of common sense. The current state of the art does not, so it cannot make decisions. This is why these things can't currently replace real support beyond being a search function exceedingly capable of interpreting natural language queries and, optionally, rephrasing what the found document says to fit onto the query better
You can't even have these systems as first line support, verifiying whether the person has searched the docs because you can't trust it with a decision about whether the docs' solutions are exhausted and human escalation is needed. There currently simply needs to be a way to reach a human. I'm as happy as the next person to find that a no-queue computer system could solve my problem so I use it when my inquiry is a question and not a request, but a search function is all they are
Chatbots are loaded with issues. But I have also had a lot of issues with humans.
By the time I have an issue, I have usually covered basic ideas and FAQs already. Currently, I tend to use perplexity supported by ChatGPT before engaging online tech support, and I create a document for them before beginning.
There's a third case: dealing with folks who just aren't technically savvy enough to figure some things out on there own, no matter how intuitive, well documented, or fully featured your product is.
I think I'd rather troubleshoot with a well-scripted AI chatbot, than a human being who's forced into the role of an automaton - executing directly from a script. Just, FFS, let me escalate to an actual competently trained human being once I've been through the troubleshooting.
There's no wait in line. There's no waiting 2 min for each response in chat, or waiting 5 min on hold while the rep figures out what to do. And I've, shockingly, gotten issues resolved faster and better.
Using one semi-popular consumer app -- once it pointed me to docs on their site that Google wasn't finding because I didn't know what keywords to use. And twice it escalated me to send a message to the relevant team, where I got a response that addressed my problem -- and where escalation would have been necessary with a human call-center rep anyways.
The point is that it was far, far faster than any chat rep OR phone rep. And it's far faster to escalate too.
I'm sure this experience isn't universal, but I've been truly shocked at how it's turned what are otherwise 15-20 minute interactions into 3 minute interactions. At the same level of quality or better.
There's a non-zero chance that real humans working as customer service agents will invent facts, too (whether to try and be helpful about something they're not completely sure, or just to get a problematic customer to leave them alone)
I've recently encountered one that just sends you in a loop, and there is literally no way to actually speak to a real person. Unless you want to give them more money; they're very responsive in that case.
This is a billion-dollar company you have definitely heard of.
I've had exactly one AI chatbot point me to the right documents. All the other interactions were exercises in frustration, and I've canceled more than one product due to shitty AI support. When I have a question, if an automated system could handle it, I wouldn't have a question.
Doesn't need to be AI, most customer support was already automated before ChatGPT rose to prominence. Hell, I developed a mobile website once for a power company that was basically a wizard / checklist of "Have you checked for known outages? Have you checked your breakers? Have you checked if your neighbours have issues too?" before they were shown the customer service number.
Human contact doesn't scale, or is prohibitively expensive. I sat with customer support a while ago (again energy sector, but different company) to observe, and every phone call was at least ten minutes, often 20-30, plus some aftercare in the form of logging the call or sending out a follow-up email.
They also did chat at the time, where a chatbot (which wasn't ChatGPT / AI based yet but they're working on it) would do the initial contact, give low-hanging fruit suggestions based on their input, and ask for their information like their address before connecting to a real human. The operator was only allowed to handle two chats at a time, and each chat session took about half an hour - with some ending because the person on the other side idled too long. I mean granted, the UI wasn't great and the customer service guy wasn't a fast typer, but even then it was time-consuming and did not scale. They had two dozen people clocked in, if they were all as fast as this one person, they can handle 50 support calls an hour at most.
It does not scale. This was for a company with about 2.5 million users who rarely need customer support. Compare with companies like Google or Facebook that have billion(s) of users. They automated and obfuscated their customer support ages ago.
2.5 million users : 24 support staff
1 billion users : 9600 support staff
If it scales linearly, that's about 10k support per billion users. I was going to say that a 10,000 person department for handling customer support sounds like it doesn't scale, but maybe I'm wrong, given that that is only about 5% of google's headcount.
Also in terms of costs: if those support staff cost 100 grand a year in salary and other costs, staffing the 2.5M-user company with those 24 support crew 24/7 (3 shifts, let's pretend it's equally busy at 3AM) results in some 25 cents per month per user that need to be priced into the product. The transaction fees on a monthly billing system are likely higher than that of a skilled support team if this is a representative scale for the industry
I frankly doubt the numbers, surely it costs more than this for an average company?
People want their support solved as quickly as possible. They don't want to talk to AI support bots because it's just an inefficient, error-prone wrapper over the documentation, which if you have an actual support need (as opposed to "I just haven't read any of the documentation") that kind of AI support isn't going to be helpful.
If you have an AI customer support that can actually support customer service requests and provide resolution, people will use it and be happy about it, or at least indifferent.
This will depend on your product. I have a side project where I get a few support calls per day. 95% of the calls can be handled by just quoting documentation/FAQ verbatim. The customers are typically not very sophisticated computer users.
Broadly, I agree. And I am furious with Progressive insurance for requiring a smart phone/mobile app to file roadside assistance claims, and my inability to get someone real on a call.
But,
In this particular story, the people were asking questions that were answered in the instructions.
No one wants to waste their time answering stupid questions, particularly if they are a solo small shop who gets entitled people asking questions around the clock.
This isn’t really customer support, but prisma (popular typescript ORM) has an AI that can answer just about any prisma-related question. It’s got a great RAG setup, can help think through novel scenarios, and always refers to specific docs pages and GitHub issues.
I think it’s made by a company called kapa. Those guys are gonna go far. That thing works SO well. I’ve been imagining how good life would be with a prisma-style AI docs assistant for things like massive, obtuse google APIs.
I want to talk to an AI for customer support as the first line so long as there is always a "Talk to a human" escape hatch.
And for less than about $50 a month, I understand why they need to spend less than half an hour per month to retain me. It'd be net negative profit otherwise. (unless they offshore, in which case the math is only slightly better).
And, yet, millions already do. The point of AI for customer support is to handle the very simple requests (maybe half). The rest, you can escalate. If AI doesn't know what to do, "Hmm, I'm not sure. Let me escalate your question/request to my manager." For most normies, this will work well.
No one wants to perform customer support either. Generally, people who are smart and capable of offering good support will stop doing it because there are more fruitful and enjoyable things for them to do.
uh, I beg to differ. I felt like an autocomplete with a knowledge base and "direct links to the right email forms" would have been faster than the fake chat interface that the "bot" uses.
(Also, if you own a home in NY and use lemondade -- do know that they don't cover cast iron piping (extremely popular in NYC). I found that out at renewal...)
I am implementing a support system for my side project, which combines the knowledge base (FAQ) with the chatbot. You can access all the answers by browsing the FAQs. If you want to contact me, you first talk to the chatbot, which has been prompted to only answer based on what the FAQ says. If it cannot answer based on that, it will make sure all the details and problem description is there, and then forward the ticket to me. In other words, chatbot is the first line of support.
Eh... I think there's a balance to be struck. You could leverage AI to handle the initial messages (90% of which are tire kickers or scammers) and funnel worthy exchanges to continue the conversation manually.
Once people notice AI is responding they will skip it and will request to talk to a human. AI will look the same as FAQs or Chatbots, people don't want to interact with them, they want a human being that is able to understand their problem exactly as it is.
The right pattern is to put them directly in a queue to talk to a person, but have an system (AI or otherwise) in the queue to gather the minimal information. Like having the person explain the problem (and have something transcribe it) and have the system transfer them to the appropriate team after parsing their problem.
Or for really common cases (ie. turn it on and off, you're affected by an outage, etc), redirect them to an prerecorded message and then let them know that they are still in the queue and can wait for a person. 9/10 it'll solve everything, but also reduce friction of simple things that might be answered.
Most chatbots are both useless and tedious to interact with. But I've also had plenty of interactions with human first-level support that's just following a script without any actual understanding. An AI would be able to provide a genuine improvement over that.
AI isn't an improvement for companies that already provide great customer support, but it has the ability to seriously raise the bar for companies that want to keep customer support costs low or that have a lot of trivial requests that they have to deal with cost-effectively
That is exactly what is happening at my employer, and it’s been really effective for trivial support, especially when it’s empowered to make meaningful changes on the customer’s behalf. It’s got large swaths of the whole UX in chat, with an authenticated session. You could see it being better a better experience than clicking around anyhow. It does a great job at search too. Lots of room to improve but it’s hitting its targets for reducing human support time and as a sales tool.
But there are many ways in which AI can improve or help support. So even if "AI chat support" turns out to not work, AI can still be very helpful in automating support.
Like detecting duplicates, preparing standard answers, grouping similar requests, assigning messages to priorities and/or people and so on.
Even LLMs can do many of what I mention. Categorizing, grouping, assigning prios etc. maybe not as good as dedicated AI trained for this purpose only (I guess many could be "simple" bayesian filters even) but good enough and readily available.
The only thing I care about is are my problems solved for minimal effort and time invested on my part. Whether it's AI or human doing the solving, I don't care.
Sure, write an FAQ and usability test your software. But I'm not convinced that you can automated/AI away your support burden in any meaningful way that isn't going to piss off your customers.
Yes it's great writing. But it's not really about automating I feel (please chime in author OP?). To me he wanted to get away from customer email ghosting and disputes. He chose to change the customer support approach and create customer service tools to manage the common requests programmatically. I feel from the writing that his original vision, or continuing to extend the product and scale it, has now changed to maintaining it as is. He realizes customer requests and the time/disappointment of all that grows linear to revenue and does not want to do that any more.
The potential customer base being basically suckers waving wads of cash to be taken from them. The wild contrast of how nice the author tries to be to every single person that interacts with the project -- despite majority being the equivalent of single-celled organisms poking the fb markeplace "is it available" button.
Reading some of the messages from potential users is so eye-opening. I don't know if there's a sane way to deal with the entitlement, other than just plain ignoring those interactions.
How would one handle this type of project in 2024? Route most of the rote communication via an LLM, automate as much as possible, ignore all feature requests, dogfood everything as you continue to use the project yourself?
I really like the learnings the autor took from this experience. Seems like most of them came from adopting "I give up" attitude when flirting with burnout -- which inadvertently seems to follow the 80/20 rule.
I've done exactly one legit "SaaS startup" type venture around 2012-2015. I still think about the absolutely insane customer service requests we'd get. It was a very niched down Eventbrite competitor, so we did things like PDF ticket generation, QR code generation, attendance tracking, there was a big fundraising component as well so lots of payment infrastructure. We charged a percentage of ticket sales so any one event or even customer was not worth very much (a positive IMO). I still remember someone emailing me directly with the "oh we'd love to give you money but you have to add these features for us first" so they could use this event ticketing and fundraising platform to ... run their dog grooming business.
As many have learned, the people actually paying you money are usually pretty reasonable. It's the people who haven't paid you a cent who have all these crazy demands.
It’s hard, but my best advice for Saas builders who get crazy feature requests from non-customers is simple:
Don’t reply.
You have to judge which requests are “crazy” of course, which isn’t always easy. “If you could just do this one thing, I would gladly pay for a subscription” has to be weighed with how much work it would be, and whether you think it would apply to other potential or existing customers.
But a reply explaining your rationale for politely saying “no” simply gives the potential customer a reason to stay engaged, often leading to indignation when the inevitably feel dissatisfied with your reasoning. After all, they don’t care about your other customers, they just want their problem solved.
Many, many prospective customer inquiries don’t deserve answers, and you’ll find yourself buried in unproductive back-and-forth if you don’t do the simplest thing of ignoring them.
Unfortunately the IBMs of the world have taught a lot of entrepreneurs a very valuable lesson:
Companies only pay attention to you as a customer when they think the checkbook is coming out, or going away. Big companies have different reasons, but the behavior is similar. The people who understand this start making everything sound like a quid pro quo situation even if it's not very sensible.
The more clever and slightly pessimistic entrepreneur might go so far as suggest the problematic customer talk to one of their competitors. But that sort of biological warfare really should be covered by the Geneva Convention.
> As many have learned, the people actually paying you money are usually pretty reasonable. It's the people who haven't paid you a cent who have all these crazy demands.
Real question: I wonder if this phenom has been part of a case study for MBAs. It makes sense to me. If you are paying customer, you have already convinced yourself it is a valuable product. Deeper: Is it every worth trying to convert the "crazies" using sales strategies? Example: Well, if you sign-up for our enterprise package, we promise your needs in X months.
Idk. It’s totally ok to just ignore those types of requests. Even a lot of the requests the author was getting. They’re just fishing and there’s Practically zero chance they’ll even ever follow up to see why you never responded.
Mega corporations get away with awful support of paying customers, people don’t actually expect you to jump at their command as a startup or even as a toy side project. If you’re able to ignore a beggar on the street, you should be able to ignore a lot of these emails. Stop guilting yourself into a heavy administrative burden and don’t avoid consumer apps because of that fear.
I get it but main thing is you should know that's a choice and it shouldn't be a requirement/burden. For the common things I think I'd just setup an autoreply that said something like;
Thanks for your message, please know that we are limited on time and only respond to critical issues. However, also please know that we do eventually read and monitor these emails;
- Bug reports or issues on our current application: we will respond within a week, usually within 2 days
- Feature requests: we are unable to confirm when or if a feature will be added. We typically put it on a log and review them quarterly.
- Requests for source code or how our tool was built: we're glad you're curious however we do not share this information.
Taking up to a week to respond to a bug report sounds like a long time. I would wonder that anyone would bother to submit a bug report if they think they might have to wait a week to get a response. But I guess its acceptable, if you set customer expectations accordingly.
A week can be a long time, even 2 days might. If you want to respond sooner that's great, they will likely be pleasantly surprised. However, for those times when you're offline for the weekend or on holiday for a week - the messaging helps you out with no extra effort to update it. Always better to under promise and over deliver in my book.
I also think expectations are relayed based on the price and scale of your business. Being transparent about your operations is helpful. If you're running your business as a one person side project but pretending to be a large multinational corporation (which is common) or charging a larger sum of money for service then perhaps it's expected. Also if you're providing some mission critical application, then probably expected. The author is talking about a charting plugin to a trading app that he charges peanuts for and has no intention of continuing development on. I think most people's "businesses" fall into this camp, even if mildly revenue generating. In any case, it's mostly about setting and managing expectations. It helps if you are transparent if you are not actively making improvements or it's just a hobby/solo/side hustle thing for you. At the end of the day, they can decide if they want to discontinue using your thing or not and if your optimizing for "least amount of time invested" then you also just need to come to accept that some churn is the price of it. Obviously, if you can charge more or have a huge amount of users, that churn becomes negative ROI versus providing more attentive support and that would likely justify a change of strategy - for some.
> How would one handle this type of project in 2024? Route most of the rote communication via an LLM, automate as much as possible, ignore all feature requests, dogfood everything as you continue to use the project yourself?
As someone else on the thread said, you start charging more. The large swathes of people looking for freebies will fade away and your customers, fewer in number perhaps, will be higher quality (or at least a bit more serious).
Interesting article to read. Part of the issues also seem to come from a few contributing factors like the unusual platform and expanding from this platform including whatever limitations come with it. Meaning you implemented things in a reverse order than people might otherwise do as they don't start out with a product on a platform trying to make it fit a subscription model.
I can imagine the specific type of user base also increasing specific types of annoying support requests. Although customer support almost always ends up being one of the things that at some point will annoy the hell out of you. Even on open source projects, the entitlement can be incredible. Although there you can get away with a remark like "You are free to uninstall <open source product>, we will give you a full refund!".
Automating a lot of that certainly was the right call, as well as filtering out all the low hanging fruits of bullshit requests. If people can't be bothered to read instructions (assuming they are clear instructions) then they certainly will also run into various other issues making them not worth the effort.
The one thing I don't entirely disagree with is "Be nice" which I personally have replaced with "Be civil" over the years. It still means listening to peoples requests, helping them where reasonable, even be courteous where applicable. To be fair, there might also be a cultural aspect involved here. In communication with US companies the "being nice" mantra often seems to be taken to such a degree where I am less wishing for someone sane to just help me swiftly with my support ticket and be done with it.
Before Reddit changed API access I built an iOS app called Pager (https://pager.app) that allowed users to set up alerts for content posted on Reddit. It had a lot of success but the issues you highlighted here kept me from monitizing the project.
Users became so demanding and I felt like if I began to take money from them it would only get worse. Looking back on it I'm not sure it was the best choice, but at least at the time the application being free felt like an important defense against users that you really could never satisfy.
The usual suggestion, often given by HN's patio11, is to charge, and charge more. For some reason free customers are the most demanding, and the more you charge the more people self-select out of the customer base.
The usual way this is presented as a free lunch has become disconnected from reality, IMO.
Free customers are not the most demanding, in my experience, but they are the most plentiful. If you cut them out, you don't lose any income (obviously) but you do cut down on requests by filtering out a lot of your users. A win!
So some people assume this is a monotonic function, where charging more increases their revenue while filtering out bad customers even further. If you press that button too many times, though, you discover that the higher price comes with increased churn, fewer signups, new competitors appearing on the scene, and, surprisingly, more demands from customers.
The last one is confusing because we were all told that "charge more" is a magic button you press to increase revenue and improve customer quality. The problem is that once your product becomes expensive enough, people expect it to perform at a certain level. If your $10/month service breaks one day, the number of people cancelling their subscriptions over it is going to be small. If your $100/month service is down for an entire day, people start asking themselves why they're paying so much for this thing anyway. The higher price gets more scrutiny at businesses looking to cut costs, so churn goes down. The higher price results it in getting recommend less over alternatives. It starts adding up.
Ideally you find the sweet spot where revenue is maximized, but that's hard to do. The feedback loop on price increases can take a very long time to show up in customer churn and reduced signups.
I've signed up for a number of SaaS products over the years that played the "raise prices" card too aggressively and then backtracked and cut prices.
There's this old story about an old farmer and his horse. You see, this old farmer had a horse that he loved dearly; took great care of it and pampered it.
But he was getting old, and wanted to retire to the City, where he could not keep a horse.
So what do I do with this horse, he wondered? He asked a wise friend, who told him: sell the horse for the highest amount of money that you can.
What?!? replied the farmer; I love my horse dearly and would never think of selling it like some goods.
The wise man replied: if you give it away, whoever gets it will abuse the shit out of it, and treat it like a workhorse, whip it every day, etc. because they got it for free, and won't value it. On the other hand, if you sell it for a huge sum, the buyer will pamper it and take good care of it, because it's an investment to them.
Or, give it to someone who can't afford a horse but really needs one, because it will be worth more to them than to someone who can afford to overpay for it.
Would they be able to afford to care for the horse? Do they need it because they need a workhorse? It’s more of a gamble and if you’re trying to get best odds for the horse you’d probably skew towards someone that’s paying a large sum and not based on their human necessity
It feels like a hostage situation. Had you started to charge money for that app, the most demanding and unreasonable cohort of users would have become apoplectic and invested time into trashing you and the app. It's almost like that in order to start charging in that situation, you need to retire the app under that name and rebrand as a different, fee-based product.
Especially because if I had monetized it, it likely would have been a subscription model because that would obviously be the only way to cover the continued operating costs, and users have such an aversion to any subscription.
Hey, thank you so much for Pager! It helped me a lot (in supporting my own free users on Reddit)! I was often wondering how long it will remain free. Well, forever.
And this is why I would make to sure to log all the time that I spend on that side job, so that I can make some estimate about what my hourly rate would be with the earnings I make.
This might then allow a better decision on whether it is a worthwhile endeavor or not.
Not all B2C is the same. If you make a product for professionals you won't get random chargebacks, incoherent emails, or general rudeness. One great way to filter for professionalism is by simply charging more. Another strategy is making it harder to purchase the product. For example by disabling the checkout process until people have completed the tutorial, or only allowing purchases after the free trial has expired.
These strategies don't maximize revenue, but you don't have to maximize revenue. You can optimize for revenue/agony instead.
That's a great way to put it. I'm going to start using that one.
Tangent: I'm a programmer at a small company, which has three programmers total. I make a decent wage, but one that's significantly smaller than I could make at a larger company. I often get questions from people who can't believe that I'm not jumping at these other opportunities, but I make nearly six figures, my team and bosses trust me, I have nearly unlimited flexibility to choose what I work on and shape my software the way I feel is best, and I get to work full remote and basically make my own hours, giving me all the time I want with my family. It would take an incredible raise to give this up just for better pay.
An agony-per-dollar ratio is a perfect way to frame the calculation, and it factors into so many places in life. Many forget that it's not just optimizing for the most revenue possible, but a balance of maximizing revenue and quality of life, and often getting diminishing returns when pushing hard on the former.
Sounds great. Also, if you went to work for BigCo and got a big pay rise, you would probably very soon get use to it and it wouldn't make you much happier. I wrote a bit more about this topic at: https://successfulsoftware.net/2013/11/06/lifestyle-programm...
It's better but this is not uniformly true. For one, people use random sites to test cards to see if they can get away with using stolen CC details at every stripe-integrated company I've seen, target audience irrelevant.
The proportion of negative/wild interactions with support and chargebacks is always going to be in an uphill battle with positive correspondance unless you are selling multi-seat deals with support as part of it. I speak a little out of my area of expertise here but from my friends experience, the downside to professional services is that a small proportion of people, or people on bad days, see it as a service, not a SaaS, and will willingly throw threats, insults, etc at you. A small error on your service can stop their whole business which is different for B2C - it's the difference between fear and frustration.
> people use random sites to test cards to see if they can get away with using stolen CC details
I already addressed this. By forcing people to use the product before allowing them to purchase you make drive-by fraud impossible. We use stripe and we have 0 fraud to deal with.
You didn't read my comment for what it meant, I think.
This isn't automated, it's people in 3rd world countries signing up to random sites that have CC as a method of payment and seeing if payment goes through.
You probably pay for Stripe Radar and don't see these payments but are also silently missing out on legitimate payments, or you run KYC or have too few or only western access to your site otherwise. Have you spoken to the people who manage your Stripe about the disputes and how many are fraud and the Fraudulent payment detection numbers you have? It won't be 0 for any substantial business.
You really are not hearing me. Our legitimate traffic looks nothing like fraud traffic. Legitimate users don't sign up for a free trial, ignore our application, zoom straight to the payment form and purchase. 0% of our legitimate customers do this. Everybody wants to try before they buy! You can literally lock the payment form making it impossible for people to purchase until they have used the product for multiple hours over multiple days.
Nobody in a 3rd world country is going to spend 5 hours clicking around in a product over multiple days just to test if a credit card works. If card testers don't find the payment form within 2 minutes they're going to move on to a weaker target.
People who struggle with fraud in SaaS usually make no attempt to distinguish real user behavior from fraud-y behavior.
Agree with all of those, and such a business has B2B potential also. That describes mine pretty well. And while I’d love to make more B2B sales, I hate dealing with purchasing departments. Dealing mainly with professionals definitely has its upsides.
As a customer, if I see firm boundaries set, (IE, read XXX before contacting me,) I usually assume that someone is under stress from nonsense like this. Then I try to be on my extra-best behavior.
I know a lot of people suggested raising your price. Some alternatives are to:
1: Offer two price points: The $20 / month gets no support, the $100 / month is supported.
2: Consider some of the feature requests, but as a consulting. "Yes, I can make that for you. It will cost $30,000 and you will have exclusive access to it." Some bozos may pay it.
And finally, it doesn't hurt to do one-line responses to dumb requests with "Please read the doc at LINK". It also doesn't hurt to openly state, in such a doc, things like "I am not implementing new features. Custom consulting is available."
>Offer two price points: The $20 / month gets no support, the $100 / month is supported.
Someone is paying you money and you won't help them? They are going to cancel and possibly badmouth you on social media. Also, how are you supposed to improve your product if you don't interact with most of the userbase?
I try to help everyone who uses my software. Even if they are evaluating and haven't paid me a penny. Commercial issues aside, I feel it is the right thing to do.
Differing levels of support based on price point is very common for a subscription software.
> Someone is paying you money and you won't help them?
$20 a month is not a lot of money, and isn't enough money for personal attention. The kind of support that the author was providing costs at least $50 an hour, if not more!
This is why, for example, Lawyers charge hundreds of dollars an hour.
> Why on earth would you bet your money on some random tool you don't even understand? ... I built a tool for people who knew what harmonic patterns were.
The tool is for drawing "technical analysis indicators", one of the most convoluted ways to ascribe meaning to a random process and something that will only ever be true in the self-fulfilling sense. I don't think it's a surprise that some users are willing to blindly trust the tool, when all users of it are blindly trusting concepts that are built on sand.
Although I'm sure the author is burnt out from the experience now, I'd be interested in hearing how their next side project venture goes- is the experience more enjoyable when you're dealing with a user base that self-selects differently? Or do all users suck equally, just in different ways?
At least half of the interactions that are presented as terrible, I feel are actually quite normal and potentially even pleasant. If you don't actually enjoy talking about your product with 'beginners' or even just normal people, then maybe reconsider the customer support role?
For me this reads as 'I don't enjoy voluntary customer support' rather than my customers suck.
I see only one single sentence - "others had very basic questions, answers to which were given in the description of each script" - that might be referring to situations where people were seeking either clarification (including cases where the answer was in the documentation, but not obviously so) or advice on how to use the tool more effectively, (I exclude bald requests for 'hot tips' or source code from those categories.)
For all I know, the author might have both received and responded substantively (with more than RTFM) to many such requests, but has not mentioned them here because they were not part of the problem.
I think in terms of official correspondence, I don't think it's a good idea to ask criminals why they did a certain thing, ref the reply to the scammer about his access being revoked. Yes, it might feel good to berate him and ask "Why did you do that?" But what if he answers? Would you really entertain valuable business time arguing with a fraudster?
In general, I also think it's a bad idea to entertain feature requests, unless the person is showing willingness to pay hourly for that extra bespoke service. I personally prepare for eventualities like that, so I can answer in a polite and productive way. "No, sorry we don't offer that feature, but if you want to enter the Bespoke Service Subscription for $10000 a month, then I can do everything you wish and mow your lawn!"
In payment disputes bank dispute resolution often requires a response of any kind from the customer to consider rejecting the dispute. In addition, the submitted forms/disputes often have nonsensical or no information on why the dispute occurred so you truly have no background. Lastly, disputes can be initiated by people without emails or just different emails so you have no chance to connect it to relevant support cases.
That's why he's curtly asking why the dispute was raised - yes in part to pressure the guy directly on his BS knowing he responds, but also because you need any kind of response to win disputes.
Yes, in bulk. If 100 people all mention essentially the same feature, it might be worthwhile. If just one person does it? Well, if it highlights something you never thought about, it can ofc be valuable, but it's not something I'd spend a lot of time on - especially if it's just adding to the overall feature creep.
One thing I didn't see the author mention in his list of lessons learned: You shouldn't be surprised that you have to deal with a lot of idiots when you make a product for idiots. His market here is the bottom of the bottom of the barrel, and there's a price that comes with that.
I think getting support requests from users who don't know what they are doing is actually a great problem to have.
I have a project that allows building web applications out of SQL queries [1]. When I started receiving support requests by people who did not know SQL and were basically learning it along, I was thrilled. I was happy that my tool had a greater audience than I initially envisioned.
In any given domain, specialists are the minority. If the thing I am building is unexpectedly appealing to non-specialists, I rejoice, even if it means getting strange support requests. In the end, it helps me making the project more approachable and easy to use for everyone.
Possibly the primary reason that software engineers don't just go into business for themselves is that running a business is a very different problem domain with different challenges and rewards.
I have never envied any CEO, VP, or manager I've worked for their job. The hardest part of my day is crafting novel SQL queries or tricking C++ into compiling code that will work on all my target hardware in spite of an unknown number of undefined behaviors. I've never had to figure out how we're going to keep documentation in sync on our flagship project when the head documentation engineer is dying of cancer (and has chosen to finish out the week because he knows how screwed the project will be without him and he believes in it), or how to make payroll next quarter if the next investor says no, or how to keep the quarterly goals met when the President has just declared that all of our employees working in the country on a visa may suddenly not return to the country.
I think certain personality types just have a really different view about risk than we do. I once talked to our CEO about it and he was like "I'd risk it all again, I like to play!". There are people who LIKE to take those kinds of risks, I'm certainly not one of them. But one must also not forget the upside: get really, really rich from the work of others.
This is a perfect example of how attaching money to a hobby is guaranteed to ruin it. Dealing with customers is a gigantic pain in the ass, it doesn't matter if it's a large product or some niche esoteric project.
I have the exact same issue regarding support with a simple app I have on the App Store, I can perfectly relate. Despite being a really simple app and extremely cheap, every once in a while I have to wake up to angry e-mails from disgruntled users.
It sounds to me like the really valuable product here isn't the harmonic charts but the little automation platform (based on n8n?). I can imagine there are plenty of devs with even less tolerance for customer service and actually running a business, but are happy to build software and sell it to people.
The amount of fraud and scammers out there is insane. I worked on a platform that only had a few hundred in revenue a month (just starting out). We did many smaller transactions, and getting hit with disputes was a killer. If someone did 15 transactions, they could get hit with 15 chargebacks up to 3 months later. So for every transaction, even if it only generated $3 in revenue, the chargeback could be potentially $15. (And you lose the revenue!). So for one customer who only spent $45, you could lose $270.
Even when we knew the person was legit, and just wanted a refund, they would do disputes. We only won a handful of disputes. The bank / credit card company will almost always side with their customer, even when provided receipts / terms of service / conversations with the customer where they admit the product met their needs.
How come the chargeback value could be that much higher than the revenue? (NB: revenue, not profit)
If I buy a $3 product and chargeback, then I get $3 back, right? Or does the payment processor bill you $15 for each chargeback no matter the transaction cost?
I will try my best to not make this sound like a veiled promotion.
Short answer is you need a VA. What I do mostly act as a filter. I have seen this happen with my clients. People often think that it is just too much hassle to running a small sideproject and not worth the time. But geez man, do you have to do everything?? Why bother with the grunt work. You have caught the lightening in the bottle, but for the rest do not invest any more in terms of emotional commitment.
These are grunt work, you need a task monkey essentially. What I do is just translate this communication in binary response or options to pick. After you made your first dime from a sideproject, you need to outsource support. Everyone complains about bad support on everything they use, but the reality is that you can not afford to commit yourself to do support work. Being entrepreneur means you have to create barrier between things that require emotional investment. You may think hiring a 7 dollar an hour dude from a random country is a risk, but it is worth the gamble if you have a business that is profitable. And the risk is not a big risk. I am not self depracating myself but the reality is VAs like me are "disposable". You try out a VA for a week, see if that person solves your problem, if not try another one.
Every grunt work you outsource in place of creating a system to fix it you lose grip of the business you are creating. In your example you used VA but change it for sales. Many technical founders go looking for someone to sell without having any clue about what sales mean. They will have a terrible time finding a reliable partner because they have no clue about the thing they are outsourcing. The same goes for outsourcing the grunt work of developing a successful business. You need to know that, you need to do that. Looking for shortcuts before you succeed is a recipe for failure.
The issue with sales in particular is that, if you can't figure out sales, don't expect a miracle by partnering up with someone. The sales-technical partnerships I have seen usually start with a great pre-business relationship. And those who have profitable bootstrapped business actually do hire salespeople like they hire me.... as disposable. You give them the initial pitch of what is the product, and you have them on commission-based pay. After the onboarding period ends, you make binary decisions of keeping and firing. Sounds unhealthy from the employees' side but that is side projects and bootstraps work.
which is to say, the best thing about running a business is that you can just pay someone else to deal with the problems you don't want to. hate invoicing? there's a service for that. hate doing the books? get a bookkeeper.
I think the difference between a VA and conventional employee is the idea of specialization and frequency. Doing VA work I have to do all things ranging from graphics design to support to crm stuff. Now, I am not the best guy out there to be great at one thing but I will try to be adaquete. The lack of specialization is made up by the fact that VAs are cheap, and you do not have to have that commitment to keep paying for them. If it is a 5 hour work week that will do.
These days, I just have my clients on whatsapp. They give me a random task, I give a deliverable time.
Great article!
I'd add another tip: Use marketplaces to get visibility and traffic. Maybe part of your success was being on Gumroad to begin with (which is not just a MoR)
3K MRR here after running for 5 years and the projects are on autopilot too.
Growth is very slow, zero marketing efforts made on my side. I think it's hard to get more value from this product though, hence why I focus on other ventures.
Not that many support requests.
A few customers racking up bills for thousands; 3-4 never paid and I didn't persecute them, the rest did.
You were lucky on chargebacks resolution, generally the b**rds always side with the scammer customers trying to get service for free. I've tried arguing many times but it's completely useless. That's also why I'm afraid of doing a project where my margins are smaller. Plenty of them then try to resuscribe
Right now hosting is 50$ per month, so if someone steal access to my product I don't care much.
Merchant of Records saved my life, F*k Europe VATMOSS, Sales Taxes, GST and every other crap governments add just to kill small businesses and make them flock to Amazon. Paddle support is pretty bad, I wouldn't go with them if I would do it all again. Probably I'd try LemonSqueezy (now acquired by Stripe).
Selling the business: I was offered money for the business but I don't think it's worth it, given how much it's on autopilot.
Can confirm that Paddle support is really bad. Onboarding and calls was very hands on(at least before they opened up for all), but everything after that was terrible and frankly idiotic. At least they can switch to using LLMs now, cause even those would do a better job.
And yeah, VAT and GST is annoying. Terrible for small businesses.
The other actually happened to me recently, my wife answered one of those automated bank texts checking on a transaction with no, which cancelled the card (and marked it stolen), and I tried to use it before she told me about it.
But yeah those are the only two I can think of and yours is the case 99.99% of the time.
I think the merchant of record bit is a bit overblown for a lot of side projects.
Tuvalu isn't going to extradite you for not paying them their $5 VAT.
If you're frequently dealing with multiple jurisdictions (especially with EU) and the fees don't add up to 10% or higher (which MoRs can do if you're in a less popular jurisdiction), it can make sense to take care of admin headaches.
I agree if you can guarantee your project isn’t going to make more than X a month. But like the author said, it’s painful to change merchants later when you start needing to care about tax.
When you're going into business for yourself, you're no longer a programmer. You are the head of customer support, you are the president, you are sales, advertising, and accounting too.
It requires a large set of skills that you either have to learn, or you'll struggle.
I dabbled in writing scripts for TradingView a while ago. It is a little rough but also fun to be able to add your own stuff to the platform. I actually pay for Scott Carney's harmonic trading software for trading view. As much as you are posting words of warning, it kinda makes me want to take another stab at it. :)
One startup I made, that actually gained some traction, turned into a struggle for me as well. I made a site to share and find tutorials for the new Swift programming language. I released the first version the day after Swift came out and it was actually getting used all over the world even. I expanded the platform a bit and I had a number of tutorial creators regularly cross posting their stuff on my site but ultimately, I myself did not jump into learning Swift and I just didn't have the continued drive to keep working on it.
It is funny because this Swift project was probably the startup I was the least passionate about building but it really was the only one that has ever garnered any real traction. Some of my take aways from it are how important timing is and that I get very enamored with the initial building phase but as you talked about in your writeup, the amount of work _after_ launch dwarfs that initial rush.
Over the years I have had some good (to me) ideas for side projects, but I have always hesitated to build them rationalizing that the potential market was way too small (a fraction of a fraction of a fraction of developers).
If anything, this post shows how wide - or deep - any internet niche is.
Well, this is interesting because what you described is the best way to start a project. Trying to build something too broad from the get-go is very likely to fail, starting small/specific and expanding from there usually works considerably better. If you research famous large companies you'll find that almost all of them did precisely this.
I can relate to a lot of this. The customer emails in particular. I was experiencing flashbacks while reading the article.
Back in 2014-2015 I created a platform for building crypto trading bots in the browser with Python scripts. You could write a bot, backtest it and trade live on multiple exchanges. It was a lot of fun to build, initially. I kind of stumbled onto the idea without any trading background.
It got some early traction. So I raised $100k of funding and went all in on the idea. I worked like mad.
But I slowly realised that all of my customers were "technical analysis" bros. Basically horoscopes for trading. I received endless support requests for exotic new indicators and obscure features.
I added a marketplace that let you sell your bots to others. It quickly jumped up to $10k/mo in commission after the fee I took. That seemed bananas to me as a 24 year old.
But the bots being sold were pure snake oil. I distinctly remember that the guy who sold the most didn't even run his bot with his own money.
I felt like was running a gambling site. After 14 months of this I was completely burned out. I quit and I wasn't able to work at all for four months.
Great write up and relatable. Just wanted to warn you that PayPal will eventually get annoyed and lock up your account for reason `$($RANDOM)`. I would prioritize draining the account very regularly, if you're not already.
This comes at a decent time for me. I am pondering a new piece of software and customer service is the number one thing on my mind. I've mostly decided that the first hire I would make if it were to become any kind of success would be customer service.
But the economics of hiring are brutal. Customer service don't get paid a huge amount but if you consider vacation, benefits, taxes, and all of the other costs of employees then somewhere in the range of $100k/year is reasonable. Then it is just math: how many subscriptions do you need to cover that cost?
Even if you price your product at $100/month then you will be losing some large portion of that to taxes, payment processing, etc. It's unlikely you'll see it all but that is maybe $1000/year. So you need over 100 stable customers at that rate tier to cover one customer service employee. Going from 0 to 100 customers paying you $100/month is risky. I can't imagine the pressure if you are closer to $10/month (or $100/year) where you need 1000 stable customers to cover the same cost.
Surely you can just outsource customer service to an offshore provider that is (a) cheaper, and (b) just a company that invoices you for their time (i.e. not your employee therefore not directly owed benefits taxes etc by you)?
I haven't looked into it, so I don't know exactly what price range is involved (and I don't know if it's a price that one could justify, depending on the exact income involved in your side project - but let's assume it's a fairly modest income), and I don't have any names to recommend. But from what I've heard, Philippines is the go-to for this sort of work these days (not that it's the only country, there are other options).
Outsourcing, or even part-time contracting, is a totally valid option. The main reason I want to invest in in-house customer service is that I see the role as more than just customer service, but also as a means to build community.
I think it is natural to see customer service in some industries as the kind of thing that gets tucked away into a call center or similar type of industrialized or factory-line like situation. However, I have seen the result when the customer service team is embedded within (or at least closely adjacent to) the development team.
Often these roles are more like "customer success" and they border on account management in many cases. They are part community building, part moderation, part customer training, part evangelism, part technical support.
So this wouldn't be a role in the vein of "answer X tickets in Y amount of time" but rather a much wider remit of ensuring overall community happiness by engaging in forums, answering questions and escalating technical problems, contributing to FAQs, etc.
My feeling is that trying to fill that kind of role with temporary workers, especially ones that are managed by some other company, would mostly defeat that purpose.
I think a critical business skill is learning to communicate and receive communication without letting it greatly affect your internal mental state. Communication about your business has to just be information and a tool.
I do all the direct customer support for my 2 businesses (radioreference and broadcastify) which typically equates to 20-30 Zendesk tickets a day addressing login/password issues, payment issues, technical support etc.
Boy can I relate to burn out and frustration. It's shocking to me how many times I have to deal with things like customer mental health issues, extremely disrespectful customer behavior, some of the wild ways in which customers will try to get out of payments that they directly authorized, and of course the occasional edge cases that customers can get themselves into which will really have you as a developer questioning your sanity.
But the truly perplexing situations are folks that will click through and pay for a product, such as your most expensive subscription plan, and then instantly have buyers remorse and just go off the deep end demanding refunds, implementing chargebacks, blaming you for being misleading, and dishing out wildly disrespectful behavior. "I didn't know what I was purchasing" is a common support ticket.
... and my business does not do recurring billing or automated subscription renewals. You literally have to renew any subscription you have with us when it comes due.
I actually had a customer file a class action lawsuit against my business because we sent him a reminder that his subscription was about to expire and if he wanted to renew it he could, and he subsequently filed this lawsuit claiming we were violating a Florida consumer protection law which doesn't allow debt collectors to contact people during certain hours. That cost me a cool chunk of change to get dismissed.
A lot of it is enough to give a sane person PTSD and to drive the most patient personality to throw a chair through a window in frustration.
I'm actually surprised he didn't include any screenshots about "I never authorized this payment" or "You charged me even though I cancelled!!". I see these a lot and it's on the customer 100% of the time. People will be so rude even when they know they are lying, maybe because they think it's the only way they will get a refund, when if they just asked nicely and said they forgot about the subscription, I always refund it. Lot's of people also end up with two accounts somehow and then think we are maliciously double charging them.
> Fighting disgruntled customers over $20 is not a good way to spend time.
Absolutely. The advice I'd give for anyone in these situations is that if someone is stressing you out, tell them no, give them a refund, and move on. Always be nice about it (well explained in the post). You don't have to answer every question either.
It might not be the best way to do customer support, and it may feel like you're failing, but you have to protect yourself. You can spend your whole life attempting to appease overly needy customers, it will never end and they'll never be happy.
It's ok to care more about your project than its customers.
This sounds about right. The ongoing support is why I don’t think I could ever be an indie dev. If I ever do put something significant out publicly, it will be free and offered as-is. Not because of any grand philosophy on what software should be, but simply to avoid the support obligations without being riddled with guilt.
Automation can help, but there are limits to what it can handle, not to mention something needs to happen enough times to see automation is needed. There is also the question of time invested vs time saved. It’s not the silver bullet I’d need it to be.
What is the name for the economic fallacy or paradox where I see an article like this and thing "$15k over 4 years is not worth my time" but if you were to ask me if I wanted $15k or a small fraction of that right now with no recurring aspect I'd take it in a heartbeat? That's how I feel reading any of these side project pieces. I look at the total revenue and how long it took them to get there and I groan thinking how I'd hate to do that. Maybe I'm just too focused on hourly rate?
That's called rationality. The paradox is thinking it's worthwhile to squander the few free hours you have to make a number go up.
OP made $15K selling snake oil of a specific nature that, if it were a legitimate product, would have made far more than $15K if he simply used his tool himself instead of productizing it and selling it to rubes and crooks.
Similar experience. I built a very small online helpdesk platform in the early 00s. This was to support my own business mostly. I had several paying customers after 6 months. They were HELL, particularly when it came to paying the bill. I sold the whole business for pocket money after a year to a small tech company who rewrote it into a fairly well known commercial product. I couldn't be bothered. I have ZERO regrets about this.
I still have the source code somewhere, which was about 25,000 lines of ASP in one file!
I’ve done enough freelancing and side jobs to know that I didn’t enjoy and—most importantly—didn’t care enough to get better at the customer service aspect of it.
> This was sad. I built a tool for people who knew what harmonic patterns were. People who had an investment strategy and only needed a tool to automate the drawing of the charts that they would normally draw by hand. Not some gung-ho investors whose entire investment strategy consists of "this random script I found five minutes ago says that stock X will go up, so I buy."
Technical analysis is pretty much magical thinking, so, no, you pretty much built a sales funnel for "people who believe investing money is magic and can be easily parted with it." The customer support story seems pretty predictable as a result.
Well, I guess you're mostly piggybacking on TradingView's funnel.
> Sometimes, I would get a job offer. Yay! For writing PineScript for a living. Nay!
Reasonable, but then why bother with a hobby project like this?
I strongly relate to this post. Having grown mailsac.com to above average side project revenue, the admin overhead isn't crazy, but it's exceptionally repetitive and boring. So much time is spent on fraud and normal "running the business" really sucks the enjoyment out of a side project (for me as an engineer). I think that having a side project co-founder who is a relentless business operator is more important than having a decent technologist.
I would personally never get into a side project for anything that requires decent fraud prevention (email, telecom, payments, etc.). I have worked at medium-sized startups in these areas struggle to keep their heads above water on fraud prevention even with well-staffed and well-paid teams of experts.
It's a never ending battle where you cannot win, you just manage to not lose so badly that lawyers and federal regulators pound you in the behind or users abandon your platform.
> Others had very basic questions, answers to which were given in the description of each script.
Oh, I feel that from DayJob. If it wasn't for the possible arguments is might cause about professionalism, my standard response to a client question in DayJob would be a gif from TaskMaster, looping through instances of Alex Horne saying “all the information is on the task”.
> Somehow all those claims from 'people with large communities' never materialized beyond testing the trial.
Very few people ask for something for themselves, they think they'll get a better response if they can convince you they are part of a larger interested group, or by suggesting what they are asking for would benefit “the community”.
Neither of these things is new: I had some software out there in the late 90s¹ and it was much the same back then, just perhaps less intense.
--------
[1] initially shareware-ish, then when the amount I made wasn't worth the faf of dealing with people (and payment processors), and talks with the couple of people who were interested in buying ownership/copyright annoyed me by going round in circles, it became open source so others could build take it on (no one did, they just all wanted me to continue to add features they wanted), then when I got more sick of dealing with people I buried the thing.
> But for now, the $200 I get every month with almost no work is a nice passive income.
Wow, not that I wouldn't enjoy having an extra $200/mo, but it would be a pretty insignificant chunk of my budget. Stepping back from the author's initial perspective (wanting to help people and grow business) - was this ever worth spending more than a couple hours a week on?
This is relatable. I started a side SaaS project that saw some success so I put payments in, and it slowly grew into a small business. The product was targeted towards digital marketers, but also unfortunately appealed to scammers as part of their scam "flow". It was a constant fight in moderating the userbase, a bunch of Stripe disputes, etc. It was profitable but the headaches in moderating the userbase and dealing with disputes (which cost $25 on top of the refund, by the way), support tickets from obvious scammers etc. was draining and turned me off the project all together.
I started another product in a different niche which also showed some success and eventually overtook it and allowed me to quit my 9-5. I shuttered the original product as it wasn't worth the hassle. The quality of the customer in the new niche is so much higher and therefore the mental drain is a lot lower.
I've been in a similar boat running a small B2B Saas over the last 2 years.
Over the years I've learnt a lot of tricks in this area.
- You need to develop a polite but curt tone of voice for customer support.
- Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.
- Invest in good docs, even if you're not running a api saas. Good docs + consistent ux + rock solid support will solve most of your support issues.
I think a lot of literature around running a online biz has been boiled down to rather basic advice and its hard to find anything solid in this area. I've been running a small blog where I document these issues(operational.co) if anyone wants to check it out.
There is something worse than building a side project and not having enough users, and that's building a side project and having enough users to make it a full-time job but you don't make enough money for it to be your full-time job.
This is extremely relatable. I have a similar experience with a free (!) watchface and a paid watch app I made a good few years back when WearOS was all the hype.
There's very friendly and thankful customers, there's unfortunately also a lot of needy and annoying ones. How do they not understand that I work for free, they always ask for more.
Add to that Google that is behaving like a toxic god, changing the rules of their walled garden every few months. I kid you not, one day they rejected my watchface because _it needed a splash screen_. And because my description mentioned "WearOS" and it should have been "Wear OS".
A significant part of my time is spent jumping through hoops created by big suppliers, such as Apple, Microsoft and Google. It drives me crazy. Support can be annoying, but at least I feel I am helping people.
BTW I couldn't get a renewal on a US government database because my business address was different in 2 other databases by exactly 1 comma character. This was blocking a big order. It took over a month, several phone calls and chats, lot of emails and an 'expedited' payment to the UK government to get this sorted. Fun times.
I have a side project. Its fairly easy to use and self explanatory. I get about 2-3 emails per week, that is with around 15,000 monthly active users and ~$400/month in revenue which is growing slowly over time. The service is stable and I don't usually have to keep an eye on it.
For any "difficult" enquiries when a customer is not happy for any reason, I just refund them, its not worth my time arguing about $10 a month. Over the life of the project that has only happened once or twice.
By the time the emails get hard to manage, i'll probably already have hired someone else to respond to them.
I can relate to so much of this! I've had a couple of relatively successful B2C products take off as side products in my time, and it is very hard not to develop a personal involvement in the support requests; whereas the detached, time-boxed, semi-automated approach is by far the best way to prevent it from taking over your life. Ultimately you're not a charity (unless you are) and, unless you specify an SLA, you owe these people almost nothing: I tend to suggest offering an automatic refund to anybody dissatisfied for this reason: then invest 95% of your time in whatever makes 95% of the profits.
I remember the the BBC would upsell on requests from artists visiting their studios in London.
Artist management: “Hey, can you fix XYZ beverage, towels, etc, in the stage ante room?”
BBC: “Sure! That will cost....”
Most would stop pestering at that time, but ever so often you got artists who were willing to pay for the extra service.
Conversion to the mentioned case:
Individual feature request:
“Hey, amazing script, I rated it 5 stars! Can you implement the take profit levels for me?”
Generic reply:
“Thank you for your interest in Project X! We get thousands of feature requests each week so sadly we cannot cater to individual ones. If you need help on setting take profit levels, I'm afraid you'll have to revert to TradingView's official documentation. Sorry for the inconvenience. Hope you have a nice day!”
Continued pestering:
“Ok, but can you please put them for me? I follow this [insert some YouTube crypto day-trader], and he uses [some very specific take profit levels]. I would like the script to draw them for me.”
Up-sell:
“I'm sorry, but we sadly cannot cater to individual requests unless you're a Diamond Member. But if you still want bespoke service you can sign up to the Diamond Member Subscription. Please bare in mind that it entails a 1000 monthly retainer with a 300 hourly consultation fee beginning after the first 15 minutes. Please inform me when you want to sign up, and I'll send you the details so we can get started right away!”
I did this very recently for a wedding vendor and it worked like a charm. There was no stipulation that I'd have to provide dinner to a vendor who would come in after the dinner ended. The owner insisted a few days before the wedding that the staff can come in earlier and would be able to eat, would be energized and appreciate the dinner etc.
I was annoyed but said I can charge him (the owner) the exact cost for a plate if this would mean that much to him and he instantly was willing for forgo dinner for his staff, lol...
You're not charging enough, you need to weed out the poor losers. Sad (and maybe rude) but true. The more you charge, your customer base will shrink, but the quality of customers will increase exponentially.
Would love to know from OP and others why this isn't the most sound advice.
I worked for a very small online retail company recently (I know it's not exactly the same but in the same vein) and raising the price for $18—$40 items by $5 had zero affect on the number of people placing (sales weren't amazing but not bad).
But ya, in the first line you say you made $15k over....... FOUR YEARS? Obviously that's a bunch for some people, but certainly not MOST people in tech?? You could have made much more and had a lot more fun bartending or even being a barista.
Having read the whole post... keep it up! Just raise your prices by... like, a LOT! Like, a lot a lot!
This is actually good advice, someone who pays a lot of money for a service will have high expectations but they will also be vested in getting things working.
I don't know the original attribution but it's something along the lines of "don't be afraid to fire unprofitable customers." If you have a customer who is drowning you in support tickets, and just not "getting it," politely tell them "sorry it's not working out" give them a refund and cut them off.
> You could even write your own scripts using an abomination of a scripting language called PineScript
Sorry to derail from the subject, but why on earth would you call pinescript an abomination? It is a perfect blend of imperative looking syntax yielding vector based calculations similar to datatables. Even conditional statements are computed as a series acting on the underlying data stream. I'm actually jealous that they did this first and sad that it is proprietary to the platform.
Good write up. One of the things I have learnt from nearly 20 years running a small software business, is to choose your market and customers carefully. My main product is for event planners and they are generally pleasant people to deal with (if not the most technical!). But I know other people that sell software products in other markets where people are (on average) less pleasant (e.g. real estate).
Also I have found that the cheapest products get the worst customers.
> If people really wanted a trial, they would eventually read the two-sentence instruction, click the link, and fill in the form.
Did this affect my sales significantly? I don't think so. Most of the people asking basic questions would never convert to paying customers anyway.
Maybe leaving some money in the table but saving a whole lot of sanity in return. Some customers are better not to have unless your product is self-service, as-is.
Patio11 has some great write ups on the type of customer who will suck your life force: Retail, not much money, not very busy.
Rather have business clients who are less price sensitive and have better things to do than argue about font choices.
I had one lady who spent 75 emails sending me on wild goose chases for a $30 app. At one point she mentioned a refund and I processed it before she could change her mind. She then offered me a job. Noooooo.
I bootstrapped a side project into a 5k customer B2C SaaS over the past 3 years. I just finally started getting help with support, and wow -- I wish I had done that sooner.
Instead, I let it build to the point where like 60% of my day (and night) was fielding questions and requests.
Can't recommend enough getting a good system in place for support early, with as many self-serve help resources as possible.
I just want to express my admiration and thanks for the practical information and advice both in the post and throughout the comments. Threads like this one make me happy and thankful to be a part of this community.
I’ve upvoted the post and the best comments — but threads like this make me wish I could upvote certain posts and comments more than once.
That book is really about Tim Ferriss figuring out how to automate and delegate everything in his business, until he only has to put in 4 hours a week to keep it going.
Until you reach a similar point, as this article shows, you don't really have any "passive" income. You just have another job.
I think it's common sense that the title was chosen for marketing reasons, not as a factual description. (iirc He even talks about testing titles for the book in the book)
I do believe there could be weeks where it's only 4 hours of maintenance. But no one in their right mind believes they can build an asset base of recurring income sufficient for living on 4 hours of total effort per week. The real message of the book was about arbitrage. Geo arbitrage to live somewhere that costs 1/2 the price to work 1/2 as many hours. Eliminate the "80%" of the low value work. Use the same arbitrage to outsource the remaining low value/low skill work. Only do the high value hours yourself.
I understand the struggle. Finding and keeping customers can be a challenge, especially in B2C. But $15K is good, so I would continue fighting for it. To reduce the stress, you should automate everything as much as possible. I’m also currently learning Pine Script, so thanks for giving me a side business idea.
Anyone hired some offshore outsourcing people at a super cheap rate that are slow and mostly useless but cheap and act as a first line barrier? Something like Dell support line.
I hate dealing with those people but realize a cheap product wont have a highly paid developer hand holding me because I wont RTFM.
Anything that's live service aspect is a pain in the ass to run. That's why I decided to make my side project an old school (VR) videogame with a singleplayer campaign.
Basically you can sell it and sleep on it if you want to do something else.
Everyone expects to get multiplayer though... :(
OP had to think a bit bigger to get a great ROI. He got himself neck deep into performing tasks or small minuscule work items. I wish he had thought about evolving it into a trading platform or even started with that, something like Robinhood
Thank you for this article. It was genuinely fascinating reading. I am in a similar situation to you, though at the very beginning, so it's fascinating to read about your experience.
Reminds me of my (far less exciting) story when I opened a php forum for a small community I was in charge with, way back, only to come the next day and find it full of botspam.
Feels weird to me, that you must login to platform to manually give someone access or strip access.
This should be automated through their API since day one.
Tomorrow I begin teaching a college course, in addition to my full-time day job, that I've been creating and working on for months. Work has been very busy lately and I'm worried that my experience with the class will make my life hell. I'm having to approach it in a really different way -- one where rather than doing my usual over-preparing, I'm trying to just get confident that I can do my best and see how it goes.
two tips that I've found that help take the load off support:
- document everything obsessively; 80% of support tickets can be answered by 20% of your documentation
- use subreddits and discords and let your users help one another
This was an amazing read, and frankly inspiring with regard to your final thoughts. I’ve yet to build anything substantial on the side but still searching for that idea
I've noticed a lot of the world has no idea how little they matter relative to the opportunity cost they impose.
Like you see Karens complaining about their experience with something. They represent at most $100s of ARR. For a great engineer that means they should spend maybe 5 minutes looking into their issue and "helping". Sure, in aggregate it adds up. But on an N of 1, nope.
It makes common sense to some people that if they want a plumber to come look at their leak, they have to pay the person to even show up and look. Even if the plumber does nothing it's gonna be $100+
So, when someone complains about $20, or wastes more than a few minutes of time on easily google-able (chatgpt-able) stuff, they've lost my attention, because they cost more than they're worth.
Side projects have always been the most exciting banes of my existence.
I LOVE the initial rush of building and launching something. Even maintaining it is SUPER exciting for the first few months. The first customers are a rush of endorphins.
Then the shine wears off. Life can't be kept on pause. Your partner wants a date night, but you have a backlog to work though. You got a frantic email from a customer that they accidentally deleted something and you currently have no way to recover that data. So now you have to add more resiliency to the application. In the middle of the night, your cron server dies, backups stop, emails stop, customers on the other side of the world can't log in.
All for a few dollars a day in revenue. Then after a year of that, you get burnt on the project. Then after another year, you stop working on it as much, the bug reports build up until you are scared to even look at your reports.
Your partner goes away for the weekend to visit their family, you get a renewed sense of pride in this project that has been limping alone. You fire up your code editor, you pull the last commit down. You start to re-familiarize yourself with the code base. Day 1 was wasted with remembering how you did things. Day 2 starts with a coffee after only sleeping a few hours. You begin to work through the small tasks on your list, because you feel the snowball will work. About 8 hours in, you've made a SERIOUS dent in the backlog. You are feeling good and decide you should eat something finally. Your partner comes home while you are eating your breakfast at 4pm. They start to tell you about their family drama. You start to fade. You walk back to your office and try to get back into the groove. You can't. The weekend is over. Work starts again in 10 hours. You now feel angry that you wasted your weekend, and have to do real work in the morning.
I recently read an HN post where a LOT of people reported having the same rather specific dream that I have had many times (about being enrolled in a class they forgot about only to remember on the day of the final exam). It literally rocked my world to see evidence of how similar all of our 'wetware' is. And now I'm reading you describing a scenario I have experienced so many times, right down to 4pm breakfast and distracting stories of family drama. I am now pretty much convinced we live in a simulation and we're all subclasses of each other.
I have done this loop dozens of times, sometimes for pleasure projects that are released for free, sometimes for projects that make $100/week. It's hard to maintain motivation when you are working for less nothing.
I've actually stopped launching software now. I devote my passion projects to things where the customer is a one-time interaction. No support, no emails, no late nights working out why there is a 500 that only happens on this ONE user at 1:16AM.
Now, I make rolling trays, refinish antique furniture, and garden. In the new year, I will be converting half of my workshop into a CBD/hemp farm to grow my own hemp to make my CBD tinctures and oils (currently I buy CBD flower from Oregon).
Software has stopped being my only source of joy and income. After 2 decades of programming almost every single day, my brain is tired, and I don't even know what it was all for.
My garden provides nectar for bees, vitamins and minerals, for myself and my family, sunshine for my body. My woodworking provides that sense of pride that I had with software without all the bugs (well sometimes there are grubs in the wood). My CBD is "medicine", and it helps my dad with his phantom limb pain, me with my Hashimoto's flareups, and other's with their anxiety and stress.
> When I get an email, I try to answer it as best as I can. Years of working with clients taught me to explain things in a simple and easy-to-understand way. So, I spent hours patiently answering questions from potential customers only to never hear back from them.
I’m a big believer in choosing your battles when communicating online. I’ve found bad grammar, lack of focus, confusing content, etc are all signals that the sender didn’t put much effort into their communication, and if I respond to those at all I usually put in proportional effort. Rarely have I experienced low-effort comms leading to high-reward outcomes, and I found my mental health benefits from the “justice” of proportional response. I’m curious though, the writer seems to imply that lack of active communication led to a decrease in sales. I wonder if/how my approach could be sabotaging me.
No. I just checked the front page [1] for each August 21 from 2014 to 2024, and there is typically no or one complaint in the title. Some lamenting here and there, an uplifting tone every now and then, but most of it is neutral.
Perhaps you are running into some negativity bias? [2]
I've learnt a few tricks for managing early stage pain points.
- You need to develop a polite but curt tone of voice for customer support.
- Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.
- Invest in good docs, even if you're not running a api saas. Good docs + consistent ux + rock solid support will solve most of your support issues.
I think a lot of literature around running a online biz has been boiled down to rather basic advice and its hard to find anything solid in this area. I've been running a small blog where I document these issues(operational.co) if anyone wants to check it out.