I've built my first successful side project, and I hate it
switowski.com
switowski.com
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.
"Our premium support can investigate this for $XYhr. If the fault is at our end we will waive any fees. Please let us know if you wish to proceed."
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.
It was just an example, though.
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.
> 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.
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.
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.
or just pass all support responses through "business support LLM" for uniform “polite but curt” tone
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!
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 :(
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.
I'm seeing this more and more, unfortunately.
> insufficient attention to detail
I believe there's a cause effect scenario here.
- 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!).
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
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.
Are you saying that you give your contractor a list of seven things to address, and find that they only address two and say they're done?
I can't remember where I heard of using painter's tape for this, but it's used as a metaphor in this article https://randsinrepose.com/archives/the-blue-tape-list/
.... 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+.
// Fixme: address this later.
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.
2. Wait
3. Update your XYZ
User: I tried the second option but nothing happened
I have to give every idea it's own sentence, and every sentence must be separated by double space at minimum.
And then I can't offer more than maybe four complete ideas, no more than one of which can demand a response.
"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.
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.
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.
I'm not asking them to be at 10, I'm asking they not engage unless they are.
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?
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?
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.
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!!)
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.
"Try this one thing: ....
If you are a detail-oriented person, you could also save us both some time and try these things also ..."
Me: Please try these 3 things and let me know how it goes: (list of 3 things with instructions)
Them: I tried (thing #1) and it didn’t work.
Me: Thank you, please try these 2 things and let me know how it goes
Them: I tried (thing #2) and it didn’t work.
Me: Thank you, please try this thing and let me know how it goes
Them: (no response)
Me: Just checking in to see if this is resolved?
Them: (no response)
Me: I’m closing this ticket as I haven’t heard back, let me know if this is still a problem and I can reopen it
Them: Don’t close the ticket, I’m still having this issue
Me: No problem, can you try this thing and let me know how it goes?
Them: (no response)
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.So many software projects close bugs with bots, and they have an unrealistically rosy picture of how bug-free their software is.
Take a look at this issue to see what it takes to keep something open: https://github.com/oobabooga/text-generation-webui/issues/41...
(not especially proud of my reactions there, but I hate being abused, even by robots.)
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.
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.
If you're moving fast enough that you don't have time to close them manually, you're moving too fast (and breaking too much).
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.
This is the real problem an automated close addresses. They are are afraid to tell their customers this.
I've started replying to it with "No updates here." to reset the timer.
(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
Me: (Gives up)
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?
And so I was fired and could no longer support myself or my family, that's why I'm applying to a position with the lowest pay grade,
It's the capitalism, not a red cross
Cheating your customer is a dangerous game. They are not dumb.
The tendency to wall off engineers is often taken to a counterproductive level.
(Don't actualy do this unless you want to burn money)
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.
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)
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.
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.)
The amount of times the software doesn't work because the HASP key [1] is plugged into a different machine is so many.
You just can't trust that they've done any basic troubleshooting and so have to start from a completely blank slate.
[1]: https://en.wikipedia.org/wiki/Software_protection_dongle
Yes.
Unless you want to drive engineering insane / waste a ton of money.
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.
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.
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.
A power cycle fixed the modem, of course.
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
ISP Support: Hi do you have a dial tone?
Me: No we don't have a land line phone at all and haven't for years
ISP Support: Can you please check your land line phone and let me know if you have a dial tone?
Me: I. HAVE. LINE. SYNC.
ISP Support: Yes but your line might not be connected yet. I need to know if you have a dial tone.
Me: ...
Me: drives 5km to the nearest shop that sells telephone handsets
Me: <twhoo hoours layter> YES. WE. HAVE. A. DIAL. TONE.
ISP Support: Okay so it looks like there's an outage in your area which is affecting your connection.
I noticed I do exactly this when troubling shooting problems with LLMs!
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.
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.
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 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.
## Action Plan
- Read my comment
- Try it
- Comment on your experience
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.
If this makes you uneasy, it can be easier if you sign initial support replies under another name.
Hey, this is John, I'll be happy to help you with that.
<Blah blah blah.>
Let me know if that helps.
--John - Hey, this is John, I'll be happy to help you with that.
+ Hello Xxx,
No need to fake being happy (or sorry). Just provide an actual answer.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.
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)
ADHD is a helluva drug :-(
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.
In my experience, end users don't read the docs or FAQ's or help search - they send you a question.
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.
Not even the big giants manage to create LLM bots that work.
What kinda things did you automate?
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.
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.
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.
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.
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 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.
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
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.
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.
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.
Why would the word/ term "entitled", need an apology?
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.
Lots of people feel entitled to free, clean, potable tap water. Lots more people don’t because they live somewhere without it.
There is nothing wrong with saying, “our product is not for people entitled to X”. There is no judgement there, let alone anything negative.
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.
> 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.
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.
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.
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.
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.
It’s a bonus that those 40 hours don’t feel like work.
https://en.wikipedia.org/wiki/Ptah
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.
But if you kill the culture before the IPO, then you have nothing and nothing.
It's a necessary part, but without marketing/sales/support/etc, very few projects work as a business.
I am one of those people. Gotta keep in mind to let people know that the solution worked
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!
Coupon? Careful phrasing? Sending puppies?
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 guess that's a matter of expectation.
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.
I know it's more than once, but less than 100%.
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.
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!
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
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.
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.
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.
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
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.
"We choose not to pay customer support well".
I've worked at companies where customer support was both strongly supported, paid well and given the tools to do their jobs well.
They were incredible.
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.
- either it has no authority and is simply restating publicly available information
- it has authority but only after pressuring it. In which case I have to spend time to find the right combination of things to get what I want
If I’m calling it’s because I have a special need that is unlikely to be resolved by a flow chart.
(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...)
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.
People who can't read the documentation aren't going to understand the AI's bad or even good summary of the documentation
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.
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.I frankly doubt the numbers, surely it costs more than this for an average company?
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.
This is a billion-dollar company you have definitely heard of.
(It's not Amazon.)
https://arstechnica.com/tech-policy/2024/02/air-canada-must-...
Never has a chatbot been of help to me.
Bot: Welcome! Please tell me what you'd like help with.
Me: how do I X?
Bot: Please choose an option: [list of irrelevant things].
Me: None, I need to do X.
Bot: Okay, please try [instructions copy-pasted from the docs].
Me: I already read the documentation and it didn't answer my question, that's why I'm here.
Bot: I'm sorry, I don't know how to help.
Me: Can I speak to a human?
Bot: Welcome! Please tell me what you'd like help with.
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.
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).
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.
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.
This is the kind of thing no startup puts in their year one budget and (alongside supplier cashflow issues) is why those projections don't work for
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.
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.
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.
https://successfulsoftware.net/2010/11/21/problem-exists-bet...
> 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.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.
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.
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).
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.
Overall, nice write up of the experience though!
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.
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.
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.
Ever try giving something away for free on an online marketplace?
If not, don't. Always charge something. Even if you'll just tell them afterwards you don't actually want/need the money.
You'll run into the worst people imaginable on the internet.
<3
This is why I've always been scared to make any commitments to paid subs other than "I'll send you all my blogs early"
This might then allow a better decision on whether it is a worthwhile endeavor or not.
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.
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.
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.
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.
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.
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."
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.
Also, just because some companies treat their customer's terribly, doesn't mean I have to.
> 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.
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?
For me this reads as 'I don't enjoy voluntary customer support' rather than my customers suck.
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.
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!"
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.
A lot of the best features in my products originate with feature requests from customers.
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.
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 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.
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.
Also chargebacks do not work for wiretranfers. So you can ask them to do a wire transfer instead
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?
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.
These days, I just have my clients on whatsapp. They give me a random task, I give a deliverable time.
You assign a task to me, and you pay hourly for that task. Or you can just get a weekly contract.
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.
And yeah, VAT and GST is annoying. Terrible for small businesses.
"My payment provider said you used a stolen credit card. Why did you do that? I've revoked your access."
But yeah those are the only two I can think of and yours is the case 99.99% of the time.
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.
That might be many projects, but it's certainly not all. I've written about this from the "third world" perspective over here: https://nik.software/building-global-wealth-from-south-afric... (and the "Accepting Payments" section above it)
Am I spending
* too much time on it, given how little money it makes?
* or too little time on it, given that it’s already making money and maybe if I worked on it more, I could grow it enough so I can quit my day job ?
It requires a large set of skills that you either have to learn, or you'll struggle.
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.
If anything, this post shows how wide - or deep - any internet niche is.
Silly me.
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.
Glad to see you figured out a smarter solution.
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.
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).
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.
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 expect better of HN.
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.
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.
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.
I still have the source code somewhere, which was about 25,000 lines of ASP in one file!
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?
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.
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.
This side of things doesn't get much coverage since it doesn't sell books or increase subscriber counts!
Just came to say I laughed and really appreciate the honesty in that statement. :)
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?
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.
Seeing this does not make me love my job. I miss making little toys and learning random things.
The more I work in this field, the more I realize building products isn’t what I love, it’s just what pays the bills.
I think your first successful side project got stuck somewhere in the middle and you also lost interest along the way managing it.
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'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".
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.
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.
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 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...
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!
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.
Me: I see an email was dispatched to bob@fmail.com 15 minutes ago. Can you double check your inbox?
Customer: Oops, typo. I meant bob@gmail.com
(Happens multiple times each week...)
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.
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.
Choosing customers is crucial.
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.
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’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.
Thanks again, everyone, and go HN team! :-)
Here is a link to an audio for those of us who like to listen to it instead of reading : https://www.audiowaveai.com/p/2310-ive-built-my-first-succes...
It's very quick and dirty, not finished. Still, I am having fun (showcased in about page). Hope not to lose it.
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 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.
That's the idea at least.
the way to get the doge project to not take your time is learning to hire for existing tasks while you figure out new ones.
Also if you can use some of the funds towards a required like a vacation that you and your partner can enjoy guilt free
I hate dealing with those people but realize a cheap product wont have a highly paid developer hand holding me because I wont RTFM.
Basically you can sell it and sleep on it if you want to do something else. Everyone expects to get multiplayer though... :(
I too had a big long project. But the moment I solved the main design riddle I couldn't bear the sight of it.
A proper mystery gets peeled back to reveal more, and more. Design can be incestuous tho. After the big taboo is transgressed it's just boring.
No expectations of amazing customer support. No refunds. No I'm bound to keep offering the service because it's already paid for.
Forum didn't last too long after that.
I don’t remember the last time I read that long of a blog post in one sitting!
Funny that OP brings up @levelsio and he is the latest guest on Lex Fridman
It reads like a pitch to work in B2B, higher professionalism, less needy customers, higher margins, fewer sales etc...
Say no more often, and focus on the core of your business.
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.
Imagine if he had been giving it away for free, the abuse would be much higher
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.
And the cycle repeats.
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.
My software made people money...
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.
Perhaps you are running into some negativity bias? [2]