(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=41308599

在技​​术支持场景中,客户遇到了特定软件功能的问题,并向提供商请求帮助。 尽管提供商提供了建议的解决方案,但客户仍然遇到了困难,并且没有回复进一步的沟通。 最终,由于缺乏客户响应,提供商决定关闭支持票。 然而,在重新打开票证后,客户表示他们仍然遇到问题。 然后,提供商尝试隔离问题,需要额外的信息和诊断日志。 收到请求的数据后,提供商发现该问题是影响众多用户的已知错误,并建议开发人员提供解决方案。 客户做出了积极回应,表示他们将实施建议的变更。 在整个互动过程中,客户对支持过程表示沮丧,感觉被忽视和误解。 此外,提供商尝试将部分支持流程自动化,但遇到了一些客户的阻力和不满,他们更喜欢与现场代表交谈。 总体而言,本文强调了技术支持团队在扩展服务更大客户群时所面临的挑战,以及在故障排除过程中有效沟通和了解客户需求的重要性。

相关文章

原文


Can relate, I've been in a similar boat running a small B2B Saas over the last 2 years. It does get easier over time.

I've learnt a few tricks for managing early stage pain points.

- You need to develop a polite but curt tone of voice for customer support.

- Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.

- Invest in good docs, even if you're not running a api saas. Good docs + consistent ux + rock solid support will solve most of your support issues.

I think a lot of literature around running a online biz has been boiled down to rather basic advice and its hard to find anything solid in this area. I've been running a small blog where I document these issues(operational.co) if anyone wants to check it out.



>You need to develop a polite but curt tone of voice for customer support.

And very focused responses in terms of action items.

You might think of 3 things to say, check, but sadly 90% of the people you respond to with a list will behave like they read just one of them. Sadly this also leads to dragging things out for everyone who can handle more than one thing at a time :(



Yep. All the time when I worked in IT:

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)



Me: This very specific thing is broken in general for your product when I do a and b. Just like users x,y and z report on .

(Siemens) Support: Before I can help you, please find the serial number via , and the exact version of subsystems .

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 and download the log from 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 , reboot (wait 5 minutes) and run the trace again

Me: (Gives up)



This is me almost every time I interact with ISP support.

Except… recently I completely misdiagnosed something. So while I was getting politely frustrated with the support clerk, he was stepping me through a set of irrelevant seeming procedures which, indeed, resulted in identifying that a piece of hardware was broken.

In this case it was the fiber to Ethernet adapter my ISP uses. He needed me to verify that, at every step of the way, pieces of my infrastructure were not the cause of my flaky connection (they weren’t). However, as a final step he had me reboot the adapter and it didn’t start back up. Turns out this is a rare failure mode and the flaky network I’d been seeing was an early, year long, symptom of this issue.



I wonder how flows like that happen.

Is Support just completely disconnected from Engineering? Do they not have a way to report issues and indicate that many customers are having a specific issue?

Does the company believe that giving a customer a runaround will make them less upset than saying "Sorry, this is a known issue. We're working on it but do not have a timeline"?

Certainly at some point, some support person is going to be like "Huh, we have a lot of customers complaining about an issue, and our usual flowchart script doesn't seem to resolve it" and try to work it up the chain, right? Or does it get to their manager who says "Meh, that's an engineering problem, not a support problem. Get back to your tickets!" and never pass it up?



If you're working with a large company, Support is outsourced to a bunch of people reading scripts in Manila/Bangalore, and the external company employing them is actively incentivized to never resolve the root cause of any issue, because doing so would mean less tickets and less billable hours.



In my first job in a software maintenance project, I was overenthusiastic and was closing issues left and right. My manager called me to his office and told me that if I solved all the issues, the project will need much lesser people when they renew the contract, which might lead me, the junior most person, to be sent to the bench until they get a new contract.



Sounds like something that could be turned into an opportunity. Immediately start looking for a different job, and on the interview explain “I left previous job because I was too efficient at solving problems. After X time, there were no outstanding issues so I was no longer necessary. I’m looking for the next place where I can make a difference”. There are plenty of places that see fewer issues a positive.



To give you the other side of this, I have had service providers obviously do this to us. It didn’t result in more billable hours at renewal. We just systematically moved teams leadership to a competitor - we have found that mixing companies of origin in teams keeps everyone more honest - and removed developers we thought were not meeting the productivity standard we were looking for.

Cheating your customer is a dangerous game. They are not dumb.



> I wonder how flows like that happen.

This is the usual response when a companies customer numbers start to scale up so far that the volume of users like the ones in Vegenoid's parent comment start to overwhelm the support staff. Keeping up the good/decent customer support that you could give to your first few hundred or perhaps even few thousand users eventually becomes ludicrously expensive or even impossible.

Then the original article's "Keeping this running and supported is shit. People are idiots and time wasters! Automate all the things!" stage kicks in.

So "first level support" is created, who's main objective is to get rid of support requests with the minimal effort by the least skilled staff possible. So everything is written into a script that call centre employees are required to follow. Low skill minimal wage staff are required to ask stupid things like "Have you tried reinstalling Windows?" and getting a confirmation that they have - before any support request is passed on to even a junior or intern developer. At this stage nobody gives a damn about users who need help, and they outsource that work to other users on the "community forums" and the entire support team is fired.

(Google, of course, being a world leader in both webtech and customer acquisition, completely skipped the "provide decent customer service" stage and went directly to the "don't give a damn about users" end game.)



Yes. Engineering time is expensive. Support exists to resolve problems without needing engineer time except when the company thinks that the problem is worthy of being addressed.

The tendency to wall off engineers is often taken to a counterproductive level.



Obviously, not every support ticket requires engineering attention. I would wager at least 90% don't. In the case of B2C businesses, likely 99.99% don't, considering 80% are customers that simply need a password reset and can't figure out how to do the most basic Reset Password -> Open E-mail -> Click link -> enter new password flow.

But there's a line SOMEWHERE. The few tickets that DO need engineering time REALLY NEED IT, and it's completely asinine that in some corporations, it's impossible.

If, for example, 100 people are talking to support for the exact same crash, and people in support are able to reproduce it, it needs to go to Engineering, rather than support telling customers "Have you tried formatting your drive and reinstalling everything from scratch?" when they already know it won't fix anything.



The best place I ever worked had fairly sophisticated, formal channels for noticing when a cluster of related-looking problems happened repeatedly, and escalating that to engineering for a fix. It also had open Slack channels with engineers and product managers in them, and some informal understandings about what type of problem was appropriate for support or professional services to bring up, there.

That combination kept the customer-frustrating bugs quite low, while still allowing engineering to keep developing new features at a fairly rapid pace.

(and then we got purchased by a PE firm and dismantled)



> Is Support just completely disconnected from Engineering?

Support is almost always tiered because $$$. In an ideal situation (hello GitLab!) tier 1 they are friendly and competent triage artists that can redirect lost customers and handle the common basic cases. Tier two is essentially an experienced and skilled tier 1. It's not until you get to tier 3 that you reach an engineer, usually one dedicated to support. That engineer is the one who reaches out to the operational engineering team if needed.



I think sometimes the company doesn't know what to do or doesn't care. But they have to make some response. So they just ask you to do a load of busywork, to keep you out of their hair for a while.



The other side of the coin is that support gets an ocean of lazy/unrelated/confused support requests that the engineer cannot help with, and responding and explaining that eats up a huge amount of time. I don't know that I agree with putting up barriers to reach support, but they are trying to address a real problem and I get where they are coming from



i remember we had similar issues at my 2nd to last job a bit ago. we would often times try to reduce the friction, but it built up and built up until, one day, there was zero chance of reaching anyone worthwhile. i wish we had gone back and really focused on providing as much support as we provide in product!!



sometimes we're aware of an issue and management has decided its not worth the effort to actually fix it, but also management doesn't want support to straight up tell people we wont help you, so they basically obfuscate



What do you do if you are incorrect? It has happened many times that a customer calls certain they know what the issue is and even if the customer is well versed in that field he may be wrong.



I hop on video and do screen share. It probably takes less aggregate time, they think they get special treatment when really I'm just saving time and I know how my stuff is being used more.



And sometimes the last one becomes:
    Them: Don’t close the ticket, I hadn't had a chance to check that yet.
Life gets in between and this one library or project is usually hardly the only thing that person juggles. We need to accept, that sometimes issues remain open for an extended duration. The worst is, when you have the same error or issue someone else had already, but their issue got closed by an effin github bot, that automatically closes issues, because someone hasn't replied for a day or two. Like, you are not the center of the other person's life. Just like no one forces you to work at no cost for others and help them, they should not be forced to give undivided focus to your project's issues.

Having bots close issues, accompanied by a rude automated message is often contra-productive. It would be fine to instead post a reminder in the issue, asking for an update like shown in the example:

     Me: Just checking in to see if this is resolved?
This is actually a very polite form of handling it.


This. Usually if you are looking at tickets closed, that means you are using that as a metric, which is a BAD idea. Ticket lifetimes and movement are more appropriate metrics.



What I find really infuriating is when I was the last person to post on my issue, and I'm waiting on an update from the maintainer, and the github bot threatens to close the issue on me for not posting any updates!

I've started replying to it with "No updates here." to reset the timer.



I almost never see bots close issues that are less than 30 days old. Many projects can change a lot in 30-90 days and the bug may no longer exist, keeping issues open when they may no longer be relevant isn't helping anyone either. If it is still relevant, it can simply be re-opened. I don't see any downside to semi-aggressively closing stale issues. If it's easily reproduced then most good projects will mark it so that it won't be auto-closed.



I encounter prematurely closed tickets all the time, practically every day.

So many software projects close bugs with bots, and they have an unrealistically rosy picture of how bug-free their software is.



Automatic closing tickets is a solution looking for a problem. Humans should close tickets when they're resolved or no resolution is anticipated or planned. Putting an arbitrary number of days on it with a one way trip to the [closed] tag is like following a broken clock because it's right twice a day.



> no resolution is anticipated or planned

This is the real problem an automated close addresses. They are are afraid to tell their customers this.



> If it is still relevant, it can simply be re-opened.

I've seen places where tickets were not allowed to be re-opened. If a ticket was closed for any reason at all besides a misclick, a new ticket had to be opened with a link to the old ticket if necessary.



> keeping issues open when they may no longer be relevant isn't helping anyone either.

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).



When I see some bug like this I do wonder why don't more people fix the issue themselves or think that it might be specific to their setup or accept a little random lag.

If I received a bug like that I would immediately think why are you telling me this... just fix it yourself and share your fix if you want. I probably have higher expectations from my users. You give the software away now they want you to fix it for them.



> If I received a bug like that I would immediately think why are you telling me this... just fix it yourself

Then you're part of the problem.

I am far less equipped to handle a bug like this than you'd think. It would take me so much more work and time than asking someone who already knows the project and how to work on it.

If I did this for every bug I reported, I wouldn't have a job because I wouldn't have any time left for one.

You know, this is also my issue with Linux. The attitude is generally that if you want to run Linux, you are expected to do anything you need completely on your own, including fixing bugs. This is why macOS is my preferred operating system. (Not that I can run it right now...)

I'm of course not entitled to anything from you (or anyone), but the one thing I won't do is fix it myself.

I don't really want to be a hacker right now. I've tried. I can be, but it rarely pays off for me. Not even financially, just emotionally.



I had this experience with an online game crashing. This is a game I play all the time, which recently recieved an update that adds a kernel level anticheat program. The game would start and then black screen, and I would get a null reference exception popup. Audio and input would continue without any graphics. To me this likely indicates a lack of init result check on some pointer that gets passed to a graphics init function, and then they try to access the pointer that was never assigned to. (my guess anyways)

I was punushed for "leaving" the game, banned for a couple weeks, and sent an obnoxious email about my bad behaviour. I reached out to them on customer support handfuls of times and was always given a list of three steps such as "upgrading graphics drivers", "ensuring i disable my firewall", "using a pc with high enough specs" (my machine is ridiculously overspecd) and things like that. I would follow the three obviously pointless steps, and then be given another set of obviously unrelated steps. This went on about five times over a month.

At some point I just told them, look im a fucking game developer, give me a log dump tool, or a build with debug symbols and I will fix it myself, and finally a real human showed up and actually sent me one. I recreated the bug and sent log captures but they wouldnt let me help beyond that. Then at the end they still scolded me for "leaving" the game.

I dont blame the average person for expecting customer support to be unhelpful or a robot by default, and not following steps.



We had a Salesforce consultant who was like this. I'd send him a list of five things he needed to do to make his jitterbit connection work with our internal API.

He'd do one thing, report that it still didn't work. I'd ask if he did the other four things. He'd do the next thing, report that it still didn't work, etc.

God only knows how much that department was paying him.



_This_ is exact the place where a LLM could step in and could really help:

1. Customer describes the problem 2. You get the problem, parsed by the model, including a summary and a suggestion what could help. 3. You write "do that 3 things" 4. The model tells the customer to do the 1st, then the 2nd and so on 5. The model reminds the customer in intervals that things are not completed 6. the model notifies you after the 3 things are done and the issue is still there.



You don't need an expensive, opaque, antisocial system to run interference against your users. What you need is literally just a checklist.

Give the user a checklist instead of just freeform text -- where they can check off the three individual things to try. When they've checked them all off, they can go back to the well for another response from support.



>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.

I noticed I do exactly this when troubling shooting problems with LLMs!



I’m observing this for many years and it feels like there are two types of people. Those who perceive lists as a whole and those who list.shuffle().pop(). Try asking your colleagues/etc three semi-related questions in one message and you’ll get only a partial answer in a significant number of cases. When confronted (constructively, much later) they usually get evasive and can’t explain. I could theorize it’s a learned behavior to avoid threaded pedantry or something, but my messages aren’t even long and other people share my frustration too (we communicate 10x faster and clearer between us). I’d write it off to attention capacity issues, but these people often aren’t even busy at all.



I'm pretty sure it's because they're not paying full attention, even worse, sometimes already building an intense narrative with only few items internalized inside their brains.

I also feel that this is happening more and more, since there's more rewards for giving very small pieces of attention and energy to a bigger pool of people, instead giving extra energy or attention to a smaller pool of people seeking for one's help.

I'm just facing this with a contractor doing repairs in my house, a month ago was finding a decent mechanic to fix just 2 issues on my car.

The first promptly finds energy to discuss things it receives through social networks or messages, but can't provide a decent list of things that I need to provide him to finish his work faster.

The second case took a lot of time and discussing with 6 different mechanics, until th car broke and it was towed.

I'm seeing this more and more, unfortunately.



That actually sounds like a good idea for a technical support app:

The only interaction possible is they can tell you the problem, then you can give them a list of things to try, and they can do nothing but give feedback on each step, in order, and you arent bothered until they at least respond something for each step



I'm starting to think Humanity's problems are not technical in nature. I don't see how to even think about forcing people to help themselves.

This is obviously satire, but we could make every internet app completely modal: once you start a flow on any site your computer prohibits you from starting any other flow on any other site before you complete the previous one.



Or simply their priorities are not your priorities. They have encountered a problem, they asked for help, but they have 10 other things going on. By the time you answer, they have forgotten half the context of the issue. They try one thing, it doesn't work, they don't have more time right now so they answer that thing 1 didn't work. Repeat.



I find most people suffer from at least one (and more commonly two) of the following: insufficient attention to detail; poor time management; and bad organization skills.



This is especially true in the trades. If you're able to:

- be on time

- respond to emails/texts, and especially: phone calls

- give quotes

Then if you're even halfway competent, the world is your oyster. Please come do work for me!

If you can manage people and budgets, you can have more work than you'll know what to do with (assuming there's work available).

The inability of many people to focus their attention and prioritize their work is shocking to me. This isn't just for the stereotypical "younger adult" either, this seems to apply across the board (and especially to boomer-aged adults!).



> I'm just facing this with a contractor doing repairs in my house

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+.



> list.shuffle().pop()

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.



Same conclusion here.

At my last job we had a customer who was famous for doing this. Since he generated a significant amount of sales, we couldn't just sideline him, so I learned to only ask one question at a time on email. Otherwise, if you asked e.g., three questions, it was a complete tossup as to which one he would decide to answer, all the while reminding you that this was a "hair on fire" issue for him.

Compounded with the fact that he was on another continent, multiple time zones away, this made debugging anything a difficult proposition.

We had another customer for the same product in the same country who had absolutely no problem answering whatever questions you asked him, in as much detail as he could supply. It has to be a personality thing.



I think this issue is a lot of why ChatGPT feels smart to me. It actually parses all the parts of what I say and tries to respond to it comprehensively. It doesn't always succeed, but it's usually better than my experience asking a multi-part question to a random real-life person in a support role.



I really wish there was a reliable way to ask people.

"I need your engagement level to be set to 10 for this communication. It's ok if you can't do that, but then just say you can't do that. I'm already set to 10 and rando guesswork / tidbits are only going to cause problems."

Even just "nope can't do it" responses would save me time.

I just got off a critical call with folks pulling stuff out of their ... and it was a nightmare / complete waste of my time.



I think that's unreasonable to ask for just about anyone. The only time that's going to work is if you're helping them with an issue that's critical to them. Otherwise you are never going to get their full attention, it even close.

Much easier and safer is to drill into your own head that your own engagement level may be at 10, but the other person's is probably going to be more like 2. And that's fine.



I don't think it is unreasonable, if they can't for whatever reason their answer is "I can't." that's 100% fine.

I'm not asking them to be at 10, I'm asking they not engage unless they are.



> I think that's unreasonable to ask for just about anyone.

Notice your parent doesn't say "you must be at 10," but rather "let me know if you can't be at 10." I think that's perfectly reasonable, as long as you're willing to accept almost always getting "no."

> Much easier and safer is to drill into your own head that your own engagement level may be at 10, but the other person's is probably going to be more like 2. And that's fine.

But sometimes that's not fine! For example, if you're giving a list of instructions for some safety-critical procedure, it's not fine to find out later that the nodding "uh-huh, uh-huh" actually meant "I'll do what I remember and what sounds easy," and it's much better to do nothing than to proceed with partial information.



There is a Youtuber and AI safety researcher that I support on Patreon's "poor person tier" and they were gonna do a Q&A video so asked us to offer questions for the video, so I offered five in one post as a list.

They wound up answering every question in my list of five, spent enough time on some of them that I think that may have been part of the motivation for them to break it up into two videos, and even emailed me the answer to the one out of five points they didn't address in the video.

In contrast if I render a list at any of my colleagues or vendor dev teams there is a <20% chance that they will address or even acknowledge 2 whole separate items out of the list, so the points they don't address get frequently brought back up again and dropped again. :(

So AI researcher has.. ..list comprehension. (YEAAAH!!)



In written communication it often works for me to create an explicit numbered list with indentations and plenty of white space between the items. It also makes it easier to refer to the items in the following communication.



I have to be really careful to never write a paragraph to a colleague or vendor dev under any circumstances. (God forbid a run-on sentence..)

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.



Would you care for a counterpoint?

This comment should be three paragraphs. As written, it’s very hard to read and I get lost.

If this was a professional communication and you had asked three questions, I might understand one or might not. Now I have no issues saying “dude, your writing is very hard to follow.” But what if your colleagues are nicer than I am?

Or just spitballing. You’ve admitted that you’re the kind of person who will set traps for your colleagues. What if they’re just sick of your shit but are too conflict avoidant to say that?



Okay, different person as the one you responded to. Your entire comment was reasonable up until the last line.

What is that even based on? Where did they admit to setting up traps? Is that your take on their comment about trying to ask three questions in one message?

Because, even without them creating paragraphs, it is abundantly clear they just mean that as something from experience. Not something they do as something to spring a trap on people.



This is a good example. They wrote:

“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.



You’ve admitted that you’re the kind of person who will set traps for your colleagues

We were all close and could discuss “meta” from time to time, in a friendly constructive manner. You’re probably reading more into this aspect than there is.



> You need to develop a polite but curt tone of voice for customer support

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.
  
  
  
  Let me know if that helps.
  --John


I worked at a tiny startup with a single customer support plus sales person—she had an array of fake names that she'd use for different purposes (billing, sales, tech support, etc) to try to simulate a larger org. She actually kept them all straight and apparently it worked.



Recently, I canceled a subscription for a newspaper, they make you go through chat to cancel. The agent was so nice that it was annoying.

I don’t mind waiting in silence, but when they keep asking about weather, vacation plans, etc, I find it hard to not respond. This might part retention technique though.



Outsourced call centers obsessing over dumb metrics like "dead air" and "hold time". They think you are gratified by obsequious groveling and fawning reassurance. There is always some guy in management who gives pep talks about improving outcomes by avoiding words like "can't" or "impossible". He demands improvement to an already satisfactory situation, and so they scramble to out-customer-service themselves.



I think in the era of LLMs good docs/FAQ are of an even greater value.

You can write a support bot that sends a user's question + docs/FAQ to an LLM to automatically deal with the basic questions and only involve a human in the loop once a question goes beyond what's in the docs.



Even if users don't read them of their own volition, they're still valuable. You can copy/paste responses from them, link to them, or hell just use them to remember the answer yourself later without having to confirm it or even think about it.



Both xyproto and Gustomaximus have solid examples.

Here's more:

- Be direct, Hi, the xyz feature is available on the PRO plan. You can upgrade to the PRO plan at app.saas.com/billing

- Be brutal, Hi xyz, your card couldn't be charged for your Saas subscription, and hence your subscription has been deactivated. To reactivate, enter your card details app app.saas.com/billing

- Be honest, Hello xyz, thanks for the feature request. We'll put it in our wish list but can't guarantee it will make the cut.

- Be generous, Hey xyz, thanks for pointing that out. We have identified that as a bug and have pushed a fix for it. In the meanwhile, I've extended your trial by 7 days, on the house.

Couple of other tips:

- Dumb down your reply as much as possible. If you can't, throw your reply through chatgpt and make it dumb down.

- Unless a support issue is very basic, reply after a few minutes if you're near your computer. Usually users figure out things on their own if given some time.

- But don't allow issues to go stale. To really wow customer service, reply as humanely quick as possible, especially for existing customers.

- Make your support timelines clear somewhere in your product, eg: Our support will respond within max 48 hours, but most responses take 2-3 hours.

- Make your terms and privacy policy pages clear. People do read this. getharvest.com is a gold standard in this area.



Just wanted to say thanks, I think you've given great advice. In particular this bullet point:

> But don't allow issues to go stale. To really wow customer service, reply as humanely quick as possible, especially for existing customers.

As a customer, the absolute worst possible thing for me is to be left in limbo, not knowing if my problem will be fixed in the next minute, hour, day, or never. While I may not be thrilled if the answer is "never", at least at that point I can move on and know that I'll need to solve the problem some other way.



But if you respond consistently quickly, then some lazy customers will email you rather than bothering to look in the documentation. So there can be a downside to being too responsive.



> Make your support timelines clear somewhere in your product, eg: Our support will respond within max 48 hours, but most responses take 2-3 hours.

This is the biggest thing I struggle with. I have a couple of semi-successful side projects. They bring in some money, but not enough to hire someone to help with support. I have never been at a place in my life where something like "I will response to all support requests within 48 hours" is remotely realistic for me. I'm lucky if I get to a support request within a week or two.

I don't know what the answer is beyond just "don't sell products", because I hate dealing with support more than I enjoy making stuff to sell.



Sometimes it's valuable to receive a (clearly non-automated) support response indicating that the message was received and a proper response is in the works, just to confirm that the support channel is actually still functional.

Even just confirmation that the website form isn't a black hole and that support tickets aren't now exclusively accepted through Twitter, Instagram, or a secret discord server can be very reassuring.



A large part of my job is end user support in a corporate environment. I always do this - even if I know an issue is going to take a while due to me having to reach out to other departments/a vendor, wait for an answer, and potentially go back and forth, I always reach out to let people know I got the email, that I'm working on it, and that I'll reach back out when I know more. If possible, I also suggest workarounds/alternatives for them to use/do in the time while I'm working on the problem.



> - Dumb down your reply as much as possible. If you can't, throw your reply through chatgpt and make it dumb down.

or just pass all support responses through "business support LLM" for uniform “polite but curt” tone



Thanks for reaching out. The issue you’ve described seems to be on your end. Please check your settings or consult our docs for further guidance. If the problem persists, feel free to get in touch.



Would it be worth putting a price to investigating? Message like:

"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."



Take my advice with a grain of salt, as I am a customer rather than someone running a product with customer support.

I would say this would only feel justified if the product pricing page already had clear tiers outlined for paid support. Putting a price per hour on customer support otherwise would make me feel like I am just being milked behind closer doors for more money, and non-paying customers are getting shafted. If a paid customer support tier is something you offer, imo it should be clearly outlined on publicly available pages with explicit explanation about the differences between free vs paid customer support. You suggesting it in private communications only would feel suspicious and shady to me as a customer.

However, if the customer themselves suggested to pay you extra for that personal support, that’s a different story.



I'd 100% expect that to be a template from someone who either has no clue and can't investigate, or has 200 other tickets to get to and couldn't be bothered to look into a case that isn't in the FAQ. It also does not say what makes you have this assumption and so it works only as a brick wall to alienate any customer goodwill you may have built up. Please never write this unless it's self evident why it's on the customer's side and you have good reason to think they're just trying to annoy you by reaching out despite that



From the sound of it, the politeness is the shallow politeness that you can easily get with ChatGPT. The curtness is defending from the users expecting too much, which can include delaying handling issues before properly checking if they're real. I experienced this with Vercel and it probably makes economic sense for them. (BTW I really should cancel my Vercel account but haven't decided to take the time to migrate yet.) https://x.com/search?q=vercel%20benjaminatkin_&src=typed_que...

The reason it can be framed as curtness is because they're being curt about the expectations, and the real expectations are pretty low. "Sure, I can delay really addressing the issue for a couple weeks. You're only paying me 40 bucks a month, why would you expect more? The goal of responding within two days is just for a canned response." See, they were curt and didn't let me demand something more than I deserved, like being able to use the product I'm paying for in the next several days!



> - Once your core product is built, its worthwhile spending some time automating the heck out of everything. This will save a TON of time in the near future.

Interesting. Anything you've automated successfully that you can share? I've heard so many times that you should hold off on automating too early because constant pivoting and refining can end up making you spend more time fixing the automation than actually doing the work itself, so I kinda paused on it. I can see how it would make a big impact on my marketing outreach, which I'm doing manually right now with not much success.



Ive had tremendous success submitting files to AI and just having it produce a structured readme.md for the logic within the code, I'll do a thing where I say Give me a readme, include description of functions, logic, how its invoked, dependencies, monitoring and give me a mermaid and swim diagram of the workflow.

Its great.

Another thing I do with an AI helper is when I have it write out a function for me I have it write out the descriptor that can go in the readme for that function. I also have it write a header with version description path etc.

It was an experiment which started with the goal is to have all the code for a simple project with its associated readme functions loaded into a textai workflow and postgres DB and I can dynamically call the readme functions for everything by having a bot yank all the MD table for all the functions and just put together a real-time readme. As I add txtAI workflow scripts, they put their MDs into the DB, I try having it spit a JSON of its MD to a mongo?

The point is playing with ways to have the system self document as I/it develops.

Because one of the ways I have been using Claude to learn is through a F-ton of iterating on an initial thought and bird-walking through implementing a tool wrapped around it.

This way, as I iterate through many many version of a concept or script/function/api/crawler - it keeps a reminder readme for when I want to know what the heck was I thinking (I have had super awesome moments of brilliance, and then after a sleep or lengthy distraction - totally loose the Mode and have no idea what I was doing, or how I came up with BrilliantIdea(TM)

ADHD is a helluva drug :-(



EDIT: One thing I attempted was to have claude keep a running artifact for a readme while I worked out a problem - but that didnt work so well. Also, as it hallucinates, one of the first indicators that its losing context is that I keep a header section on artifacts it makes and a version and description ad path for the artifact...

when iterating and the header gets stripped in the response, the bot is taking a turn...

Sometimes ask it to spit out the full context and its understandings in a manner I can use to re-prompt itself for best efficiency, and it gives a nice summary of the concept I am thinking through, and I use that with vary degrees of satifying results.



One suggestion is simply increase the price. Price is strongly correlated with quality of customer. Price also acts as signaling that this is a tool for professionals who make actual money and so shouldn't be bothered coughing up something trivial like $100 for a subscription. You end up making more with far less customer support.



Raising prices works wonders when a product is both underpriced and hard to replace.

It can backfire when the new price point bumps it into a different category of decision making, though. For many, a $20/month product is an easy decision but $100/month price tag bumps it to a point where it becomes a more complicated decision making process. If you're not careful you can easily raise prices so much that people decide to jump to a more full-featured competitor product.

Projects like this one that are personal/side projects have an additional risk of raising prices: If the product becomes expensive, many people are going to notice that it appears to be highly profitable while also being within the realm of what a single person or small team can produce. Competition starts appearing quickly and you're back to cutting prices to stay relevant.

Finally, higher prices come with higher expectations from your customers. Whereas previously they might shrug off a slow response to a customer support request at $20/month, their $100/month service might lead them to expect more customer support, not less.

There are several indie SaaS companies that get posted on HN from time to time that take the opposite approach: They offer a low price but they're up front about what to expect. They don't try to pretend that you're getting world-class reliability, uptime, or support, but they do commit to offering a good service at a fair price. They could raise prices to match competitors, but now they're playing a very different game with very different expectations.



I agree with most of what you said, but there's significant nuance to this piece:

> Finally, higher prices come with higher expectations from your customers. Whereas previously they might shrug off a slow response to a customer support request at $20/month, their $100/month service might lead them to expect more customer support, not less.

This is potentially true, but there's other effects here too:

- When I was doing software and hardware consulting work, the people who paid the most were also the happiest customers. It felt paradoxical for a while until I really let it sink in and stew. Most of the high paying customers would just kind of... take my work products, say "yup, this meets the requirements we agreed to", and run with it. The ones who were paying the least were the most likely to pull the classic "well... is what we agreed to but... maybe you could move that button over to the other side and I've got this other feature idea that we didn't talk about, oh and I don't like how this works... it might be what we agreed to but it's not how it worked in my mind..."

- It sounds like OPs customers took that to the extreme with "customers" who hadn't paid anything at all yet being demanding.

- By going up-market, you can lose customers for sure but it might be worth it anyway. Given the support burden it sounds like 1/5 of the customers at 5x price would be a net win. Especially if it tracks my experience consulting where the remaining high paying customers are happier about your product in general. If you still maintain the same per-customer support burden or even have it climb some it could end up being less work overall.



I find it hard to believe that this is true. For 100$ a month I expect a far more polished product than for 20$, where I can look over a lot of missing features.

If features don't work as advertised, I will absolutely make no distinction between a 500$ or 1$ product, and will demand a fix. But I will more likely have more patient if the service is cheap, before migrating away.

And then, if your customers are businesses, do you think the employees really care how much the product costs? No.



>For 100$ a month I expect a far more polished product than for 20$

I hate to put you on blast but this is exactly why people charge $100/mo instead of $20/mo. They do not want the customers who feel (sorry for the term) "entitled" to a heroic level of features, support, polish, etc. They want people who have a hair-on-fire emergency that is so awful that they'd gladly pay $1000/mo for it, and are thankful that your software - klunky as it is - is giving them $900/mo of free value.



because it's a subjective very negative judgement about another human, and in polite conversation one should assume baseline positive things about other humans. it's basically like calling someone an asshole. as HN as a culture of politeness, you apologize first, even if it's justified.



It’s not a negative judgement. Everyone has different levels of entitlement in any particular context.

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.



Serious question, especially if there’s follow up reading. Where does that principle of assuming baseline good things about the other speaker in polite conversation come from?



I suppose it's an underlying principle of good faith discourse. And good faith discourse is an absolute requirement to have a meaningful conversation or debate that moves (whatever) things forward.

Part of the reason that political discourse is currently so polarised and pushes us towards bad outcomes in our societies (thinking particularly of US and UK here, but I'm sure it applies elsewhere), like the recent riots in the UK, is that so much of it is bad faith, dishonest, assumes the worst of others, casually alienates to score points, etc.



Having run my own tourism business (so dealing with consumers directly, rather than b2b), and having spoken to many other business owners, this is counterintuitively true.

My worst customers were the ones that ask for discounts, or are otherwise looking for a deal. My theory is that people that happily fork out for an expensive product have already seen the value.

There are exceptions, but a lot of business owners see the same pattern.



> My worst customers were the ones that ask for discounts, or are otherwise looking for a deal.

I get where you're coming from, but it's hardly surprising that a business's favourite customers are those who are happy to get fleeced.

And as a customer, if you're not already a subject-matter expert, you have no idea which business is trying to fleece you or not unless you price compare and try for discounts everywhere.



If you think getting charged asking price is getting fleeced, then you are kind of illustrating my point. I don't want a customer that thinks they are getting fleeced by doing business with me.

I don't want a customer who thinks that paying asking price for a product is me taking advantage of them.

I don't want a customer that thinks I am starting the relationship as an adversary rather than a partner in a mutually beneficial transaction.

I want customers that are happy. I can't make you happy if you already think what I am selling is not worth what I'm charging. We will both be happier if you find a different supplier.

The kind of people that look for an angle on every transaction are the ones that will be the biggest pain in your ass while asking for more than everyone else. That's the generally held wisdom for a reason. It isn't always true, but its true often enough that it normally doesn't pay to play the game.

> And as a customer, if you're not already a subject-matter expert, you have no idea which business is trying to fleece you or not unless you price compare and try for discounts everywhere.

Yes, be a savvy consumer. But also realize that if you go around looking for the lowest price and asking for discounts, you will end up with the cheapest product or service, not necessarily the best value.



> If you think getting charged asking price is getting fleeced, then you are kind of illustrating my point.

No, that's explicitly not what I'm saying.

Of course, you, as an honest business that stands behind their work, prefers customer who are happy to pay your asking price while not being a pain in the ass. But that's going to be exactly the same stance as your competitor who spends half the effort on their product and double the effort on marketing. They really don't want savvy customers to ask many questions, because they don't have a product to back it up.



We’ve also seen customer support inquiries, and in general quality of our customers, rise with an increase in price.

It doesn’t make sense as an end consumer, but B2B lens it makes sense.

If a business can afford the higher price tag, they most likely would rather have a hands off approach for the problem they’re trying to solve (in a service based business)

Many of our mid and lower tier customers want everything drawn out and explained, and give feedback at every step. Our higher tier customers pay faster, request minimal input (outside of times we ask for it), and generally much easier to work with



> We’ve also seen customer support inquiries, and in general quality of our customers, rise with an increase in price.

Yes, but it should be noted that the price is acting as a filter to exclude a subset of customers, reducing overall customer count.

Obviously it's easier to have 100 customers paying $100/month than to have 1000 customers paying $10/month, but finding those tradeoff points can be hard. It takes time for market signals to settle out and customers to churn away due to high prices.

I've been a customer of several SaaS products that embraced "raise your prices" so much that they slowly became a second-choice option in the market. It takes a long time for people and websites to stop recommending a product as the first-choice option after a price change, so these signals don't appear immediately.



100% agree, and in my case its a service-based business so overhead is much higher per additional client vs an additional SaaS signup.

And 1 problem client, even if they pay 80% of our higher tier pricing, can lead to major headaches across the board.

Something we learned (and are continually learning) is vetting clients as much as they vet us, versus just trying to get the sale.

Funny enough, being more stern on pricing, what we offer, and in general our boundaries of what we cover has led to higher satisfaction from clients and our team.



Perhaps, but what's your idea of polish? For many developers, it's a shiny interface. Business users have much different metrics. Developers may get excited over "productivity"; business users are more focused on ROI (ie, quantifiable savings or profit)



Wow I can really relate.

The customer support efforts when you don't feel like it, being ghosted after helping a customer, the random or fraud disputes.

It's really tricky at that stage between hiring help and having the time/motivation to maintain those very non-tech parts while trying to continue doing other core parts of the side project / startup.

The first sale feels great, as does first showing the prototype.

By comparison, extra $100 MRR milestones don't feel so great, nor does dealing with customers/disputes eventually (it's a lot of negativity in general - pleased customers just leave reviews occasionally, negative ones email you). And a down negative month or two always feels like a stabbing and like it's all over.

Really don't know how to avoid this. Scaling quickly? Via investment in most cases? Maybe.



> The customer support efforts when you don't feel like it, being ghosted after helping a customer, the random or fraud disputes.

These three challenges + context-switching between marketing and product are really tough at the early stage.

I've found that growing a business from 0-1 is very formulaic - not easy but the roadmap is clear. Scaling one is much harder, especially without outside capital. There's a huge gulf between earning enough to replace your salary vs. hiring good people to take over lower-level tasks early on. And marketing usually ends up being too critical to outsource at first.

At least with digital products, customer disputes can always be settled with refunds, even when the claim is dubious. Eat the loss and move on. Physical product disputes really sting when you're out the cost of inventory + labor.



Usually if something isn't working it becomes a bottleneck so a lot gets built up behind it. Once the 'dam breaks' so to speak you're playing catch up plus you probably don't want to think about the problem anymore. This is also a reason things don't get documented.



Also its easy to verify that it doesn't work but hard to verify that it does. So often it might take time to verify that and when you're confident about it you've lost the chat session or closed the browser, restarted the computer, went home already etc.



Me too but I only ever do this unintentionally, and it usually corresponds with a delay in the reply from support coming back to me. (Ie I’m now focused on other things or have solved the problem a different way).

Whenever I’m conscious enough of it I do try to thank people - trying to remember how hard it must be on the other end!



> being ghosted after helping a customer

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 wonder how often I've given up and switched to a competitor when it just seemed clear we were going to go back and forth and make no progress.

I know it's more than once, but less than 100%.



I wonder if there's often a mismatch between what one thinks a business is going to be like, and what a business is actually like.

One of the things that keeps me away from doing stuff like this is that I _hate_ every part that isn't the engineering part, and the engineering part is a minority share of what it takes to run a business.



We know the answer to this even before modern tech businesses existed: running a business is a very different experience from what people expect. This is exacerbated with certain experiences that create worldviews which are closer to the opposite of running a business.

This is why startup people straight out of school are often unencumbered with ideas that impact their mission. If you go into a large organization, you are exposed to a reality that can distort your perspective. It's a myth that people can't move between large and small organizations, but the differentiator is their awareness of and desire to embrace the current circumstances. Many end up preferring the luxury and ease of large organizations and fail because they don't make the switch. Many startup people don't make the move in the other direction (even if they are exceedingly successful and it might be practical move.)

Similarly, a desire to only focus on engineering is something you feel will inhibit your ability to run a business. Over time you might be able to discover ways to reduce your hate for the other work. People here love to prescribe advice for situations like this, but it's really hard to give good advice without knowing a lot more about you.



It was practically dogma ten years ago that the CEO that built the business was not the CEO that took you public. In the late '00s and a big chunk of the '10s they swapped board members in order to go big.

But if you kill the culture before the IPO, then you have nothing and nothing.



My solution largely came out of recognizing this reality. So I just don't do side gigs. I channel that energy into little tech projects that do not seek to be a salable product. So I make my living 40 hours per week, and then do the rest on my terms.



I don't think that 'everyone an entrepreneur' would increase economic output and productivity, and the fact is that some people just want a paycheck because they don't really care about making more money than the paycheck gives them, and the work is fine.



Indeed. I love that my career is a minor sideshow of my life. I love the stability of working about 40 hours a week and then doing what I really want to be doing with life.

It’s a bonus that those 40 hours don’t feel like work.



One thing most programmers need to painfully have beaten into them is that the software itself is a minor part of a successful software business.

It's a necessary part, but without marketing/sales/support/etc, very few projects work as a business.



True. If you want to spend all day programming, be a contract programmer. Don't start a software business - you'll spend a lot of your timing doing admin, documentation, websites, newsletters, accounts, support etc.



And if you get a partner, they will insist that the part that is engineering is even smaller than it objectively should be and end up leaving you with a minority position in the product you invented.



Some advice: If you're going to monetize a side project, and you do it in a way where you're providing direct support, be sure the customer base it targets are people you actually want to deal with. Whatever the niche, imagine the worst people you've encountered on it, and be sure you want to use your spare time talking to them. Otherwise, the juice is likely not worth the squeeze.



That's good advice. Unfortunately though I think the nature of support is that on average it selects for the more difficult people in your customer base, for the same reason that doctors spend a lot of their time with hypochondriacs (despite hypochondriacs making up a small percentage of the population).

Something that helps to offset this psychologically, and is also a good thing to do anyway, is to proactively reach out more frequently to all your users. It can be the case that 95% of your users are happily chugging along, while 5% are unhappy and complaining frequently for whatever reason. If you rarely hear from that 95%, it can start to irrationally feel like no one is happy with your product, since that's the message coming from most of your support interactions.



I guess the old 80/20 Rule or Pareto Principle somewhat applies to the support distribution for many products. That is, 80% of the support resources are taken up by 20% of the clients. (incredibly-vaguely-speaking, naturally)

The variable is "20% of what type of client?". 20% of Taylor Swift concert attendees, or 20% of assembly coders? Each comes with its own unique challenges!



How do you ensure this? Are you suggesting more analysis pre-building the product, or doing things like increasing the price until you've effectively filtered out enough of the people you don't "want to deal with", assuming that works.



I love the ending of this story, which isn't obvious from just looking at the title. The author identified key pain points around customer support, automated them, and went back to enjoying life. This is the kind of thing that gets me excited about the possibilities of technology and AI as a force multiplier, especially when working on side projects, "lifestyle" businesses, or even startups as a single founder.



i've gone back and forth on this over the last few months.

I started out thinking that we've all been conditioned by bad customer support chatbots whose only purpose is to look up facts from the FAQ and then tell you to call the real customer support line to actually handle your problem. the problem was that the chatbots weren't granted hee ability and authority to actually do things. wouldn't it be great if you could aks a bot to cancel your account or change your billing info and it would actually do it?

but then i realized... anything with a clearly defined process or workflow like that would be even better if it were just a form on an account settings page. why bother with a chatbot?

customer support lines run by humans exist for two reasons: - increase friction for things you don't want your user to do (like cancel their account without first hearing a bunch of sales pitches) - handle unanticipated problems that don't fit into the happy-path you've set up on the settings page

My worry is that business dudes will get excited about making chatbots that can do the former and they'll never trust an AI to be able to handle the later. So I'm now of the opinion that having AI customer support will only be used to make things worse.



Customer support isn't paid well, so they often aren't motivated to become very skilled beyond the level of a chatbot before they move on to other things. So the interface to bad docs doesn't matter much. And good docs are very hard to produce. AI magnifies problems when good docs are lacking.



> aren't motivated to become very skilled beyond the level of a chatbot

Everyone has some amount of common sense. The current state of the art does not, so it cannot make decisions. This is why these things can't currently replace real support beyond being a search function exceedingly capable of interpreting natural language queries and, optionally, rephrasing what the found document says to fit onto the query better

You can't even have these systems as first line support, verifiying whether the person has searched the docs because you can't trust it with a decision about whether the docs' solutions are exhausted and human escalation is needed. There currently simply needs to be a way to reach a human. I'm as happy as the next person to find that a no-queue computer system could solve my problem so I use it when my inquiry is a question and not a request, but a search function is all they are



Chatbots are loaded with issues. But I have also had a lot of issues with humans.

By the time I have an issue, I have usually covered basic ideas and FAQs already. Currently, I tend to use perplexity supported by ChatGPT before engaging online tech support, and I create a document for them before beginning.



> Customer support isn't paid well

"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.



There's a third case: dealing with folks who just aren't technically savvy enough to figure some things out on there own, no matter how intuitive, well documented, or fully featured your product is.

I think I'd rather troubleshoot with a well-scripted AI chatbot, than a human being who's forced into the role of an automaton - executing directly from a script. Just, FFS, let me escalate to an actual competently trained human being once I've been through the troubleshooting.



Actually, I do.

There's no wait in line. There's no waiting 2 min for each response in chat, or waiting 5 min on hold while the rep figures out what to do. And I've, shockingly, gotten issues resolved faster and better.

Using one semi-popular consumer app -- once it pointed me to docs on their site that Google wasn't finding because I didn't know what keywords to use. And twice it escalated me to send a message to the relevant team, where I got a response that addressed my problem -- and where escalation would have been necessary with a human call-center rep anyways.

The point is that it was far, far faster than any chat rep OR phone rep. And it's far faster to escalate too.

I'm sure this experience isn't universal, but I've been truly shocked at how it's turned what are otherwise 15-20 minute interactions into 3 minute interactions. At the same level of quality or better.



There's a non-zero chance that real humans working as customer service agents will invent facts, too (whether to try and be helpful about something they're not completely sure, or just to get a problematic customer to leave them alone)



I've recently encountered one that just sends you in a loop, and there is literally no way to actually speak to a real person. Unless you want to give them more money; they're very responsive in that case.

This is a billion-dollar company you have definitely heard of.



I've had exactly one AI chatbot point me to the right documents. All the other interactions were exercises in frustration, and I've canceled more than one product due to shitty AI support. When I have a question, if an automated system could handle it, I wouldn't have a question.



I would if the AI chatbot could ever actually answer my question, but the conversation ALWAYS goes like this:

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.



Doesn't need to be AI, most customer support was already automated before ChatGPT rose to prominence. Hell, I developed a mobile website once for a power company that was basically a wizard / checklist of "Have you checked for known outages? Have you checked your breakers? Have you checked if your neighbours have issues too?" before they were shown the customer service number.

Human contact doesn't scale, or is prohibitively expensive. I sat with customer support a while ago (again energy sector, but different company) to observe, and every phone call was at least ten minutes, often 20-30, plus some aftercare in the form of logging the call or sending out a follow-up email.

They also did chat at the time, where a chatbot (which wasn't ChatGPT / AI based yet but they're working on it) would do the initial contact, give low-hanging fruit suggestions based on their input, and ask for their information like their address before connecting to a real human. The operator was only allowed to handle two chats at a time, and each chat session took about half an hour - with some ending because the person on the other side idled too long. I mean granted, the UI wasn't great and the customer service guy wasn't a fast typer, but even then it was time-consuming and did not scale. They had two dozen people clocked in, if they were all as fast as this one person, they can handle 50 support calls an hour at most.

It does not scale. This was for a company with about 2.5 million users who rarely need customer support. Compare with companies like Google or Facebook that have billion(s) of users. They automated and obfuscated their customer support ages ago.



    2.5 million users : 24 support staff
    1 billion users   : 9600 support staff
If it scales linearly, that's about 10k support per billion users. I was going to say that a 10,000 person department for handling customer support sounds like it doesn't scale, but maybe I'm wrong, given that that is only about 5% of google's headcount.


Also in terms of costs: if those support staff cost 100 grand a year in salary and other costs, staffing the 2.5M-user company with those 24 support crew 24/7 (3 shifts, let's pretend it's equally busy at 3AM) results in some 25 cents per month per user that need to be priced into the product. The transaction fees on a monthly billing system are likely higher than that of a skilled support team if this is a representative scale for the industry

I frankly doubt the numbers, surely it costs more than this for an average company?



People want their support solved as quickly as possible. They don't want to talk to AI support bots because it's just an inefficient, error-prone wrapper over the documentation, which if you have an actual support need (as opposed to "I just haven't read any of the documentation") that kind of AI support isn't going to be helpful.

If you have an AI customer support that can actually support customer service requests and provide resolution, people will use it and be happy about it, or at least indifferent.



This will depend on your product. I have a side project where I get a few support calls per day. 95% of the calls can be handled by just quoting documentation/FAQ verbatim. The customers are typically not very sophisticated computer users.



People who can understand what the AI is saying don't need the AI have problems the AI is too dumb and powerless to solve.

People who can't read the documentation aren't going to understand the AI's bad or even good summary of the documentation



If it’s well-implemented, it’s fantastic.

This isn’t really customer support, but prisma (popular typescript ORM) has an AI that can answer just about any prisma-related question. It’s got a great RAG setup, can help think through novel scenarios, and always refers to specific docs pages and GitHub issues.

I think it’s made by a company called kapa. Those guys are gonna go far. That thing works SO well. I’ve been imagining how good life would be with a prisma-style AI docs assistant for things like massive, obtuse google APIs.



I want to talk to an AI for customer support as the first line so long as there is always a "Talk to a human" escape hatch.

And for less than about $50 a month, I understand why they need to spend less than half an hour per month to retain me. It'd be net negative profit otherwise. (unless they offshore, in which case the math is only slightly better).



And, yet, millions already do. The point of AI for customer support is to handle the very simple requests (maybe half). The rest, you can escalate. If AI doesn't know what to do, "Hmm, I'm not sure. Let me escalate your question/request to my manager." For most normies, this will work well.



No one wants to perform customer support either. Generally, people who are smart and capable of offering good support will stop doing it because there are more fruitful and enjoyable things for them to do.



uh, I beg to differ. I felt like an autocomplete with a knowledge base and "direct links to the right email forms" would have been faster than the fake chat interface that the "bot" uses.

(Also, if you own a home in NY and use lemondade -- do know that they don't cover cast iron piping (extremely popular in NYC). I found that out at renewal...)



I am implementing a support system for my side project, which combines the knowledge base (FAQ) with the chatbot. You can access all the answers by browsing the FAQs. If you want to contact me, you first talk to the chatbot, which has been prompted to only answer based on what the FAQ says. If it cannot answer based on that, it will make sure all the details and problem description is there, and then forward the ticket to me. In other words, chatbot is the first line of support.



Broadly, I agree. And I am furious with Progressive insurance for requiring a smart phone/mobile app to file roadside assistance claims, and my inability to get someone real on a call.

But,

In this particular story, the people were asking questions that were answered in the instructions.

No one wants to waste their time answering stupid questions, particularly if they are a solo small shop who gets entitled people asking questions around the clock.



Eh... I think there's a balance to be struck. You could leverage AI to handle the initial messages (90% of which are tire kickers or scammers) and funnel worthy exchanges to continue the conversation manually.



Once people notice AI is responding they will skip it and will request to talk to a human. AI will look the same as FAQs or Chatbots, people don't want to interact with them, they want a human being that is able to understand their problem exactly as it is.



The right pattern is to put them directly in a queue to talk to a person, but have an system (AI or otherwise) in the queue to gather the minimal information. Like having the person explain the problem (and have something transcribe it) and have the system transfer them to the appropriate team after parsing their problem.

Or for really common cases (ie. turn it on and off, you're affected by an outage, etc), redirect them to an prerecorded message and then let them know that they are still in the queue and can wait for a person. 9/10 it'll solve everything, but also reduce friction of simple things that might be answered.



Most chatbots are both useless and tedious to interact with. But I've also had plenty of interactions with human first-level support that's just following a script without any actual understanding. An AI would be able to provide a genuine improvement over that.

AI isn't an improvement for companies that already provide great customer support, but it has the ability to seriously raise the bar for companies that want to keep customer support costs low or that have a lot of trivial requests that they have to deal with cost-effectively



That is exactly what is happening at my employer, and it’s been really effective for trivial support, especially when it’s empowered to make meaningful changes on the customer’s behalf. It’s got large swaths of the whole UX in chat, with an authenticated session. You could see it being better a better experience than clicking around anyhow. It does a great job at search too. Lots of room to improve but it’s hitting its targets for reducing human support time and as a sales tool.



Maybe not.

But there are many ways in which AI can improve or help support. So even if "AI chat support" turns out to not work, AI can still be very helpful in automating support.

Like detecting duplicates, preparing standard answers, grouping similar requests, assigning messages to priorities and/or people and so on.



Even LLMs can do many of what I mention. Categorizing, grouping, assigning prios etc. maybe not as good as dedicated AI trained for this purpose only (I guess many could be "simple" bayesian filters even) but good enough and readily available.



Bots are designed to waste your time and save the company time:

- 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.



Sure, write an FAQ and usability test your software. But I'm not convinced that you can automated/AI away your support burden in any meaningful way that isn't going to piss off your customers.



Yes it's great writing. But it's not really about automating I feel (please chime in author OP?). To me he wanted to get away from customer email ghosting and disputes. He chose to change the customer support approach and create customer service tools to manage the common requests programmatically. I feel from the writing that his original vision, or continuing to extend the product and scale it, has now changed to maintaining it as is. He realizes customer requests and the time/disappointment of all that grows linear to revenue and does not want to do that any more.



This was a fascinating read, really.

The potential customer base being basically suckers waving wads of cash to be taken from them. The wild contrast of how nice the author tries to be to every single person that interacts with the project -- despite majority being the equivalent of single-celled organisms poking the fb markeplace "is it available" button.

Reading some of the messages from potential users is so eye-opening. I don't know if there's a sane way to deal with the entitlement, other than just plain ignoring those interactions.

How would one handle this type of project in 2024? Route most of the rote communication via an LLM, automate as much as possible, ignore all feature requests, dogfood everything as you continue to use the project yourself?

I really like the learnings the autor took from this experience. Seems like most of them came from adopting "I give up" attitude when flirting with burnout -- which inadvertently seems to follow the 80/20 rule.



I've done exactly one legit "SaaS startup" type venture around 2012-2015. I still think about the absolutely insane customer service requests we'd get. It was a very niched down Eventbrite competitor, so we did things like PDF ticket generation, QR code generation, attendance tracking, there was a big fundraising component as well so lots of payment infrastructure. We charged a percentage of ticket sales so any one event or even customer was not worth very much (a positive IMO). I still remember someone emailing me directly with the "oh we'd love to give you money but you have to add these features for us first" so they could use this event ticketing and fundraising platform to ... run their dog grooming business.

As many have learned, the people actually paying you money are usually pretty reasonable. It's the people who haven't paid you a cent who have all these crazy demands.



Unfortunately the IBMs of the world have taught a lot of entrepreneurs a very valuable lesson:

Companies only pay attention to you as a customer when they think the checkbook is coming out, or going away. Big companies have different reasons, but the behavior is similar. The people who understand this start making everything sound like a quid pro quo situation even if it's not very sensible.

The more clever and slightly pessimistic entrepreneur might go so far as suggest the problematic customer talk to one of their competitors. But that sort of biological warfare really should be covered by the Geneva Convention.



    > As many have learned, the people actually paying you money are usually pretty reasonable. It's the people who haven't paid you a cent who have all these crazy demands.
Real question: I wonder if this phenom has been part of a case study for MBAs. It makes sense to me. If you are paying customer, you have already convinced yourself it is a valuable product. Deeper: Is it every worth trying to convert the "crazies" using sales strategies? Example: Well, if you sign-up for our enterprise package, we promise your needs in X months.


Yup yup yup. Big reason for avoiding free users is avoiding those requests.

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



Idk. It’s totally ok to just ignore those types of requests. Even a lot of the requests the author was getting. They’re just fishing and there’s Practically zero chance they’ll even ever follow up to see why you never responded.

Mega corporations get away with awful support of paying customers, people don’t actually expect you to jump at their command as a startup or even as a toy side project. If you’re able to ignore a beggar on the street, you should be able to ignore a lot of these emails. Stop guilting yourself into a heavy administrative burden and don’t avoid consumer apps because of that fear.



> How would one handle this type of project in 2024? Route most of the rote communication via an LLM, automate as much as possible, ignore all feature requests, dogfood everything as you continue to use the project yourself?

As someone else on the thread said, you start charging more. The large swathes of people looking for freebies will fade away and your customers, fewer in number perhaps, will be higher quality (or at least a bit more serious).



I think getting support requests from users who don't know what they are doing is actually a great problem to have.

I have a project that allows building web applications out of SQL queries [1]. When I started receiving support requests by people who did not know SQL and were basically learning it along, I was thrilled. I was happy that my tool had a greater audience than I initially envisioned.

In any given domain, specialists are the minority. If the thing I am building is unexpectedly appealing to non-specialists, I rejoice, even if it means getting strange support requests. In the end, it helps me making the project more approachable and easy to use for everyone.

[1] https://sql.datapage.app



I dabbled in writing scripts for TradingView a while ago. It is a little rough but also fun to be able to add your own stuff to the platform. I actually pay for Scott Carney's harmonic trading software for trading view. As much as you are posting words of warning, it kinda makes me want to take another stab at it. :)

One startup I made, that actually gained some traction, turned into a struggle for me as well. I made a site to share and find tutorials for the new Swift programming language. I released the first version the day after Swift came out and it was actually getting used all over the world even. I expanded the platform a bit and I had a number of tutorial creators regularly cross posting their stuff on my site but ultimately, I myself did not jump into learning Swift and I just didn't have the continued drive to keep working on it.

It is funny because this Swift project was probably the startup I was the least passionate about building but it really was the only one that has ever garnered any real traction. Some of my take aways from it are how important timing is and that I get very enamored with the initial building phase but as you talked about in your writeup, the amount of work _after_ launch dwarfs that initial rush.



Before Reddit changed API access I built an iOS app called Pager (https://pager.app) that allowed users to set up alerts for content posted on Reddit. It had a lot of success but the issues you highlighted here kept me from monitizing the project.

Users became so demanding and I felt like if I began to take money from them it would only get worse. Looking back on it I'm not sure it was the best choice, but at least at the time the application being free felt like an important defense against users that you really could never satisfy.



The usual suggestion, often given by HN's patio11, is to charge, and charge more. For some reason free customers are the most demanding, and the more you charge the more people self-select out of the customer base.



The usual way this is presented as a free lunch has become disconnected from reality, IMO.

Free customers are not the most demanding, in my experience, but they are the most plentiful. If you cut them out, you don't lose any income (obviously) but you do cut down on requests by filtering out a lot of your users. A win!

So some people assume this is a monotonic function, where charging more increases their revenue while filtering out bad customers even further. If you press that button too many times, though, you discover that the higher price comes with increased churn, fewer signups, new competitors appearing on the scene, and, surprisingly, more demands from customers.

The last one is confusing because we were all told that "charge more" is a magic button you press to increase revenue and improve customer quality. The problem is that once your product becomes expensive enough, people expect it to perform at a certain level. If your $10/month service breaks one day, the number of people cancelling their subscriptions over it is going to be small. If your $100/month service is down for an entire day, people start asking themselves why they're paying so much for this thing anyway. The higher price gets more scrutiny at businesses looking to cut costs, so churn goes down. The higher price results it in getting recommend less over alternatives. It starts adding up.

Ideally you find the sweet spot where revenue is maximized, but that's hard to do. The feedback loop on price increases can take a very long time to show up in customer churn and reduced signups.

I've signed up for a number of SaaS products over the years that played the "raise prices" card too aggressively and then backtracked and cut prices.



There's this old story about an old farmer and his horse. You see, this old farmer had a horse that he loved dearly; took great care of it and pampered it. But he was getting old, and wanted to retire to the City, where he could not keep a horse.

So what do I do with this horse, he wondered? He asked a wise friend, who told him: sell the horse for the highest amount of money that you can.

What?!? replied the farmer; I love my horse dearly and would never think of selling it like some goods.

The wise man replied: if you give it away, whoever gets it will abuse the shit out of it, and treat it like a workhorse, whip it every day, etc. because they got it for free, and won't value it. On the other hand, if you sell it for a huge sum, the buyer will pamper it and take good care of it, because it's an investment to them.



Would they be able to afford to care for the horse? Do they need it because they need a workhorse? It’s more of a gamble and if you’re trying to get best odds for the horse you’d probably skew towards someone that’s paying a large sum and not based on their human necessity



> For some reason free customers are the most demanding

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.



It feels like a hostage situation. Had you started to charge money for that app, the most demanding and unreasonable cohort of users would have become apoplectic and invested time into trashing you and the app. It's almost like that in order to start charging in that situation, you need to retire the app under that name and rebrand as a different, fee-based product.



Especially because if I had monetized it, it likely would have been a subscription model because that would obviously be the only way to cover the continued operating costs, and users have such an aversion to any subscription.



Hey, thank you so much for Pager! It helped me a lot (in supporting my own free users on Reddit)! I was often wondering how long it will remain free. Well, forever.

<3



Interesting article to read. Part of the issues also seem to come from a few contributing factors like the unusual platform and expanding from this platform including whatever limitations come with it. Meaning you implemented things in a reverse order than people might otherwise do as they don't start out with a product on a platform trying to make it fit a subscription model.

I can imagine the specific type of user base also increasing specific types of annoying support requests. Although customer support almost always ends up being one of the things that at some point will annoy the hell out of you. Even on open source projects, the entitlement can be incredible. Although there you can get away with a remark like "You are free to uninstall , 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!



You haven't built a side project, you've built yourself a job.

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"



And this is why I would make to sure to log all the time that I spend on that side job, so that I can make some estimate about what my hourly rate would be with the earnings I make.

This might then allow a better decision on whether it is a worthwhile endeavor or not.

联系我们 contact @ memedata.com