Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: PG's 'Do Things That Don't Scale' manual examples?
412 points by nicgrev103 on Oct 25, 2023 | hide | past | favorite | 316 comments
In PG's essay he talks about manually doing what you later plan to automate and gives the example of stripe manually onboarding startups. Does anyone else have other examples?



At Lugg (https://lugg.com) we did a few things that would not scale.

- My co-founder and I did all the Luggs ourselves in trucks we rented through GetAround for the first 4 months

- My co-founder and I's names, pictures, and phone numbers were hard coded into the app as the crew to fulfill the Lugg before we had crews or proper dispatching

- We launched without payments and would charge customers with a Square reader at the door

- Most mornings we would camp out in the IKEA parking lot in Emeryville, CA and approach their customers that were struggling to get their purchases in their cars and pitched them that we would deliver their items if they downloaded the app and made a request

- In the early days we didn't have operating ours and anyone could request a Lugg at anytime and my co-founder and I would hop in our rented truck and do it

A few months in we did a Lugg for someone that knew Sam Altman and made an intro to him for us. We met him for coffee, shortly after had a YC interview, and was later accepted in the S15 batch


BTW - I think my next door neighbor was a customer in those first 4 months. I remember helping him pack for a small move one night and we decided to see if There Was An App For That - and there was! I remember our both being surprised that we made the request at like 10pm and one of the co-founders showed up.

So, um, thank you and sorry! (We didn't order at 10pm to be inconsiderate - we just saw the option and took it). Glad things have worked out since then - I still remember the experience and use it as a reference when I'm telling people about this exact sort of hustle.


nice story..


I got downvoted for this very short reaction, so, at the risk of having another downvote(s), I want to make a statement:

With my very laconic reply I wanted in fact to convey my congratulations the Lugg creator for their perservance during the hard beginnings of their startup; plus, I strongly believe that the human level of the aspiring enterpreteneur's life is much more HNish in spirit, than endless discsussions circling around running LLM in the basement (or basement-as-a-service) without apparent customers, and somehow strangely the latter seems to be dominating HN comment space. Thanks for listening.


> I got downvoted for this very short reaction

In part, I expect, due to the double full-stop which looks like it might be a miss-type ellipsis. It makes what could already potentially be seen as a sarcastic “cool story bro” response look even more so.

That, and the fact that HN generally disfavours short reaction comments (including, but not limited to, “Me too!”) which add nothing themselves other than perhaps (in the case of “me too”) an extra anecdata point.

Your follow-up post may well be downvoted too, because complaining about downvotes also being frowned upon (it is seen as adding unnecessary noise to a thread).


Probably because it ends in two dots which makes it look like you're being dismissive and rude.


Mmm, oh really, in my naive world two dots just mean some reflection.. (did it again).

But I get your point, thank you. Although it is kind of scary people read that much between the lines.


There’s a guy at my work that sprinkles .. in every reply. It makes him come off as an asshole. (I’m not the only person in my company that thinks so btw).

Recommend you stop, unless you like coming off as an asshole..


That's quite bad kind of reasoning. Using something from time to time in a context is different than using something all the time, so it should give different reactions.


It's definitely not intentional. It's just pattern recognition trying to recreate a humans voice and facial expressions from an extremely limited set of information. The less information, the more extrapolation has to take place, and if you provide basically no information but with a specific emotional signifier on it then that signifier becomes the main information converted in the text. Had you typed a sentence or two of your other comment with the 2 dots on the end people probably would have read it more charitably. But as it stands, the 2 dots are the only information available and so it reads like sarcasm and dismissal are the singular goal of your comment. This interpretation can be prevented by providing more guiding information in the comment.


No matter how you meant it, a reply saying "nice story.." contributes nothing at all to the discussion. And if you were intending to convey anything to the Lugg creator, you were replying in the wrong place.

Try to imagine thousands of people who don't know either you or the person you're replying to reading your reply. If it's meaningless to them, it's probably not worth posting.


Just want to say that Lugg has consistently been one of the best experiences I have moving things from place to place on short notice. Great customer service and the work is always done on point and on time.

It’s more reliable than any other short notice moving service I’ve used, but a little higher cost. I guess you get what you pay for.


Wow, that's a cool app idea and your website design looks so friendly. The closest company I can think of is Lalamove which operates throughout Asia (founded in 2013). Sorry if it's not the right place, but I couldn't find on your website how the fully insured part of your service works. Do you need to take pictures of everything before hand?


I am a bit surprised because IKEA has its own delivery service. Are you cheaper or more convenient?


I recently ordered a medium sized table from ikea and the delivery options were a) $20 to receive in 3-5 days, b) $50 to receive on a specific day within a 12 hour window, and c) $80 to get a narrower time window and have the delivery person put the package in a room of your choice.

I'd guess you need a lot of scale to beat a) on cost, but there's probably room to undercut b) or c) on short distance trips.


I liked your story and technique in finding a need-now kind of audience with this method! And your bit about Square is underrated. Setting up auth/stripe/connecting everything can take so long you lose motivation. I like the idea of using Square.

I face a similar kind of situation in a similar market, would love to hear your advice on something, feel it may complement what you are doing as well - can be reached at lugg@revision.ai for this if you'd be up to chat.


This luggs the cake! Did y'all ever debate buying a truck vs. renting on GetAround?


We thought about it but ultimately decided that owning a truck would detract from what we really needed to be doing which was getting truck owners to do the luggs


That’s very cool. Love the IKEA parking lot move. Bet you helped a lot of folks that way.


That's an awesome/inspiring story, congrats & thanks for sharing. Was it all organic growth in the beginning? What took it from that early phase to the next step?


Is the insurance you offer legit or crap? Shipping companies have a notorious reputation for not paying out on insurance claims.


We almost used your service to get a lounge chair home the other weekend. We had to drive 45 minutes away to take a look at it and maybe buy it, and didn't really want to go there, rent a U-Haul, head home, head back, pick up our car, head home again.

We got lucky though that it managed to fit into our car so we didn't need to. But nice to know it's an option!


I've always wondered why Ikea didn't offer convenient in-house delivery options. Good job.


"Move anything with the push of a button"

Fantastic tagline, and very clear value proposition.


Amazing work ethic - did IKEA ever give you a hard time?


why should they? helps people get out of the parking lot faster, helps the store move more inventory...


Lugg is awesome! My go-to for moving


Love the hustle, dude! This is the way!


[flagged]


Oh yes I love having to move huge furniture myself or pay someone an exorbitant unfair price


Thank you!


"Do Thinks That Don't Scale" is probably the absolute heart of my (bootstrapped, two-founder) company. Off the top of my head, we:

   * Manually create pre-configured accounts for potential customers, sometimes with up to an hour of entering in their existing data so things look familiar right from first login.
    * Investigate problems and repair live data, usually just by logging in as a user and using the tools in the product. Can they do this themselves? Sure. Do they appreciate our doing it instead? Oh, hell yes.
   * Have screen-sharing calls where we walk customers through the process of linking our product with third parties (e.g. OAuth pairing with Square so they can process payments).
   * Call customers who are want help or advice with _other parts of their business_ that aren't related to our product, but about which we know something. Don't know what you should put in your vendor contracts or what % you should charge for sales commissions? Give us a call; we'll help you out.
...plus probably dozens more that aren't fresh on my mind. We work flat-out to onboard every single customer, no matter how small, because word-of-mouth is our only growth channel and delivering a surprisingly human onboarding/support experience is the best way I know to generate great referrals. It doesn't scale, but it's also probably our main growth driver.

It'll work until it doesn't, I guess, but so far doing things that don't scale is how we scale.


What you’re describing here is _good customer service_, which basically doesn’t scale at all ever (at least in any automated way). You provide more tools to expand the capability of CS, but at some point, you simply just have to hire more and more CS people.

This isn’t a knock by the way. Good customer service makes a customer feel like there’s someone just waiting at the company to help them. Kudos to you for providing that experience.

So while these aren’t great examples of “doing something that doesn’t scale (with the eventual goal of scaling)”, it’s a great example of “doing something that doesn’t scale (to provide a better product)”.


Based on every mega-scale consumer tech company, the best way to scale customer service is to make it as useless and frustrating as possible.


Apple would be a notable exception. As would Amazon.

I think you’re referring specifically to Google and Facebook, and you’re right. I think the big difference is the amount of profit per customer.

Google and Facebook make a small amount from a large number of people so it makes sense that they could not profitably scale customer support. In the instances where they make a large amount of money off of a small number of people, mainly ad sales, their support is much better.


Apple and Amazon aren't event remotely in the same league. Amazon chat agents use canned responses (probably due to being required to handle multiple customers at one time.) I've had one tech support/customer service interaction by phone with Apple and it was great - I needed my out of warranty MBP battery replaced. The agent was kind, knowledgeable, focused and took her time working with me to diagnose/confirm the issue and setup the return (they sent me a box & label to send the MBP in for service.) I had my MBP back within 5 business days from the day they picked it up. Apple is expensive, but they take phone support seriously.


Apple support seems to come and go in waves depending on when the last time someone looked at the expenses were. In my time working there, we'd have months where everything was by the book and the book was the Apple Care service contract written up by the lawyers, or where every customer got the hard sell on all the metrics (they didn't have many but those they had we needed to push).

We also had months where one could get assigned to spending 3 whole days helping a customer port all of their emails and photos out of a corrupted windows outlook installation over to their new mac for no other reason than they'd asked for help getting it done.

Or where you would be celebrated for spending 5 hours with a 65 year old grandmother buying her first computer carefully going over all her needs and specs and down selling her from what the competitors had convinced her she needed (seriously, no 65 year old grandmother getting her first computer needs the hardware or associated software to cut together professional film in order digitize her collection of VHS home movies) and finish up with a sale of maybe $1300 and directions to competitor down the street because they have better photo printers than the few we carry in stock all on the (IMO correct) theory that a customer who can trust you to exactly what they need and nothing more and send them to a competitor for a better product is one who will come back again and again on the basis of that trust.

I don't know how expensive those two interactions were in the short term, but I do at least know that 65 year old grandmother became a regular customer and could not stop telling all the other customers how much she loved us. For as many problems as I did have with how Apple hamstrung their people, I do wish more companies were even half as good as that.


My ipod 3rd gen broke in 2005. Mailed support, I had a new one mailed few days later. They didn't even bother checking whether it was broke, or even retired it, they just sent me a new one.

I don't like Apple too much and try to avoid their products, but can't lie never had such a good customer experience.


And then there are companies like Dell and Lenovo which dispatch a serviceman to your address on next day and fix or replace the device on the spot.


Isn’t that normally an add on service that you purchase in addition to the thing you’re buying?


In my experience, they do not even ask for warranty or support service or what not. A Lenovo person will come and help. Period.


Dell ProSupport for IT is the absolute benchmark


Probably depends what you need. I’ve used Amazon quite a lot for quite a long time and I’ve never had an issue go unresolved. I guess I’ve also almost never had to talk to a human though, they have pretty well automated just doing whatever the customer wants them to in most cases.

The last time I had to talk to a human (and it was two years ago) was because I accidentally left a fire stick behind in Puerto Rico two years prior and someone bought a few seasons of True Blood with my Amazon credentials. They still refunded me, even though it took me two years to notice the charge.


If Amazon delivers a late package I ask for a $5 credit, and I get it every time


Amazon's support is absolutely amazing compared to a company like Uber.


Even amazon seems to do a lot to err on the side of "automatically make the customer happy" rather than "actually have someone look into the problem" (I did a recent round of "order a three-pack, get a singleton labelled as a three pack, return for replacement, the replacement was also a singleton, return for refund" - they were prompt about the replacement, and prompt about the refund, very straightforward - but I actually wanted 6 of the items (and got someone else to not even order them to avoid dealing with this.) This is a pretty straightforward inventory problem, and I'm not convinced amazon even got any "signal" about it from the interaction. (And after all, the alternate items I ordered... were still from amazon, so they don't have a problem either, really...)


> Even amazon seems to do a lot to err on the side of "automatically make the customer happy"

I can't find the article now, but I read a piece about the volume of returns and what happens to them ("reverse logistics"). Basically, companies find it's more profitable to always allow returns and keep the customers happy -- and often, they'll let the customer keep the "returned" product because even if the product works 100%, the cost to ship and verify is below what they'll make reselling it.

I thought this was an interesting contrast to LL Bean, who a few years back decided to end their lifetime guarantee, and naturally upset some lifetime customers.


I had this same issue a few time too. Ordered five 3-packs. Receive one three pack, and 4 singles.

I am convinced a robot just snags "one of each" from a bin, and if some packs are broken apart and separate... then they meet that logic.


Apple is only good compared to the total garbage fire of MS/Google, and Amazon's support has been horrible for years now. If they don't have an automated answer to your problem you're SOL.I had them ship me the wrong item with the correct item's SKU taped on it and they argued with me for quite awhile before just refunding me.


> If they don't have an automated answer to your problem you're SOL

No? I've had issues with an external monitor and had an applecare specialist debug a bunch of settings and then schedule a call with me for the next day after they heard back from the escalation team. Thankfully I bought a different cable which fixed my issue, but they are very nice for support from my experience.


MSFT is pretty good with their hardware support.


I believe that for the surface line, but I mainly deal with the O365 folks.


I at least don't expect anything from FB.

I must also say Uber's CS is absolute garbage. I just cannot believe how bad they are. I have been unable to use uber for weeks and have been reaching out to them non-stop every few days. It is like speaking to a brick wall.


Have you tried social media? Companies can be strangely responsive on those channels.

Try reaching out to their Facebook or Twitter/X profiles.


I don't use X but might try facebook.


I can't think of any instances where I've needed Google or Facebook support. I pay Google money for premium services, so I'd hope they'd be better, but I've read plenty of evidence to contrary.

I was thinking more specifically of the Ubers, Lyfts, DoorDashes, Instacarts of the world. They are providing a consumer service, don't really control the end-to-end experience that well, and when things go wrong they are very difficult to work with on a reasonable resolution.


I've had consistently bad experiences with Apple support.


I'm pretty sure that's literally what they do. The metric for customer service at scale is "engagement" where bigger numbers are worse, so they hellban you to a network of automated answering services, online documentation and chatbots which all redirect you to each other while avoiding any question that doesn't have a quick, easy, do-it-yourself solution.


You're not their customer. You're their product.


If I'm ordering groceries on Instacart, how am I not their customer? Am I only the customer of the grocery store and delivery driver?


To be frank, I’ve never used Instacart, so anything would be (a hopefully educated) guess.

But it might be some version of Michael Seibels's classic "Who is your customer?" (https://youtu.be/C27RVio2rOs?t=10m11s)


A more subtle aspect of customer service here is that, as the dev or PM responding to the customer, you have a lot more power to give the customer what they want.

A BigCo can hire a lot of CS people but the best they can do sometimes is "we hear you and we'll pass along your feedback".


Alas, you’ve found the reason this won’t scale. Doing customer support as the CTO is a superpower (up to a point!) for both user growth and product design. But there’s going be to come a point where we have to hand some portion of support over to a dedicated support team, and no matter how well we train those folks they’re just not going to be quite as empowered and effective. The longer I can kick that can down the road, though, the better!

(At least for the business. My sleep schedule would improve amazingly!)


You want Support Engineers who are up to speed on your code review processes and standards and given access to commit "straightforward" bug fixes. They exist :)

https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125249 https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131316 https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131469 https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130988 https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132806...

From there, you need to build a culture that is welcoming of "strangers" contributing code. You get these two things, you get nits and gotchas fixed directly from pain points customers are having, while product engineering is (mostly) focusing on feature dev.


This is simple support tiers.

Tier 0 are effectively secretaries who can file structured info around issue.

Tier 1 are dedicated support people who can follow scenarios and guide customers through the product.

Tier 2 are what you call "support engineers". They know the product, features, code, upcoming features and so on. For an in house product they are capable of making straightforward bugfixes.

Tier 3 is sometimes called "vendor support". For an in-house product this is effectively product development team.

As you can see, good supports bleeds into or blends with product development. This is how you get support answers like "this feature is planned to go live Y24Q1, but you can sign up to beta in exchange for feedback" or at least "This is not supported, but you can use features x and y to achieve similar result", instead of "Sorry, such workflow is not supported"


I disagree: if you're a good product owner, it will aid with the goal of scaling.

For example, when you're sitting there walking them through something they could do alone, are you just playing back some script, or are you getting an understanding of where they went "aha!" and making note of how you can embed that aha moment into the product itself?


You’ve found me out! Not only is it excellent customer service, it’s also priceless market research that I would be lost without. Side conversations during calls like that have led to more improvements and features (and in one case an entirely new side product) than I can possibly count.


> which basically doesn’t scale at all ever

It basically scales fine, the problem for companies trying to bump margin is it's roughly linear with customers...


You can also give the tools directly to the customers, and you can bundle/package the tools into future versions of the product. A common pattern is to have a public git repo and the customers can git pull to get the latest versions of the support tools.


Shipping tools as a git repository sounds delightful, at least to my engineering-minded heart. So painless! Free versioning! Rollbacks!

If we were in the devtools business I would certainly consider that. Sadly, though, owners of small retail businesses tend not to be as comfortable with version control as one might hope…


I think where it helps with scaling is that they’re very involved in all the pain points. None are hidden by client silence. Then they can build this learning into the product. Simplify, fix UI, add, remove. That digs you out of the daily effort trap.


Doing things manually for a while might be natural to some builders/hackers. Customer service is one such example where many builders are willing to go above and beyond. So maybe the OP does not have to read too much into the PG quote.


> Investigate problems and repair live data, usually just by logging in as a user and using the tools in the product. Can they do this themselves? Sure. Do they appreciate our doing it instead? Oh, hell yes.

This is definitely one that doesn’t scale as eventually they don’t allow devs to see prod data, so using user accounts is a no go at my org for that reason.

Makes things infuriating for both clients and customer support.


Not being allowed to see production data (or even in some cases see production!) was my greatest frustration in my last corporate job. But to be fair, keeping engineers off the live data was…pretty non-negotiable at most customers.

Which leads to some pretty boring days onsite, when “onsite” means “in the SCIF”


> SCIF

Though there's a big sliding scale there, between "not allowed to look at prod user data for privacy/etc reasons" and "the giant black hole of nothing-comes-out" in a SCIF.


If “devs” can’t have access to production data then they can’t be responsible for production issues, simple as.

I would say 95% of my intellectual horsepower at work goes into queries and analysis of production data tables, event streams, and logs to investigate issues or confirm key invariants are holding. Production is infinitely more creative than anyone sitting down to write unit tests. Organizations refusing to learn from it, as a matter of policy, either have incredible confidence in their testing and formal verification regimes… or much more likely don’t give a shit about correctness.


Some examples:

- The Airbnb founders took photographs for listings themselves.

- ProductHunt started out as a newsletter, with the founders themselves hunting and curating products.

- Reddit founders submitted links (wrote comments?) everyday using different usernames, to get the community going.

- Dropbox launched with a video demonstration and an email signup page to gauge viability. The product wouldn't be ready for another year, iirc.

- Doordash was a single webpage with a phone number (and 5 students?), serving just Palo Alto.

- Meesho was a WhatsApp group (one of the few teams in the batch that failed to raise money on Demo Day, afaik).

- Segment was a single javascript file viz. analytics.js.


Further to your doordash example, I believe many of delivery sites simply took the online order, then called the restaurant themself to order the food. This however lead to some issues where restaurants were getting from complaints from customers they didn't know they had. They also had different pricing from the online companies.


Back in the stone age, lastminute.com would fax individual customer's details through to the theatre so they could pick up their tickets at the box office.


Doesn’t DoorDash still do that?


Not sure if they still do, but they definitely integrate more directly now.


> - Reddit founders submitted links (wrote comments?) everyday using different usernames, to get the community going.

clearly unethical behavior, but whatever...


The founder also made the jailbait subreddit and it won sub of the year in 2011?

they also removed third party apis and mod tools before an ipo. If one had bad thoughts they would think increasing their own app numbers and reducing tools to remove bot activity would be unethical ways to bolsters user counts before a sale. But that would not happen


The internet generally believes that /u/violentacrez created /r/jailbait . That user's "irl" identity is known, and he is not a founder of reddit. See https://www.reddit.com/r/MuseumOfReddit/comments/1hzra9/doxg...


I looked into it, back when anyone could be made mod there was an inside joke on reddit of making Obama and Snopp dogg mods of things. Someone made spez a mod of jailbait and took a screenshot that was reposted around the internet and I forgot about the third party modding thing.

However he defended the place publically, and gave an award called Pimp Daddy to violentacrez, which shows some level of consideration and recognition by the now CEO of reddit.

looking at it with the hindsight of time, the "free speech" defense rings a bit hollow considering the communities they were protecting at the time


Ethics? Where we're going, we don't _need_ ethics. [ flips down silver goggles ]


How would this be unethical in reddit's case? It's not like they tried to raise money from investors or users using the faked activity.


Deceiving early days users. Since when lying is OK?


What did they lie about? People on Reddit and right here on HN use multiple accounts all the time (look at all the throwaway accounts).


throwaway is very explicit, there's no lie involved since everyone knows what it means.

> What did they lie about?

Fake users being piloted by the same person behind the screen. If that's not a lie, then I don't know what is.


geez, if that's your biggest complaint about discussion forums, you live a pretty blessed life.

We're talking about Internet discussion forums here.. The amount of fakery, lying, bullshit and outright awfulness that happens on forums every single day across the whole Internet is staggering.

If they used aliases to kickstart discussions and try to get people involved and contributing, I'm not sure that's something to get your pitchfork out about.


> - ProductHunt started out as a newsletter, with the founders themselves hunting and curating products.

I can't remember if it was product hunt or not, but there was one such site that actually started as a way for the developer to feed attention to their other startup. Turned out producthunt (or whatever one I'm thinking of) became successful instead.


FeedMyApp? It was way before, though. Circa 2007/2008?


I only recall a thread here on HN from the founder


This is a great list. I could be wrong but I believe that some early version of Dropbox was usable not too long after the demo.


> - Reddit founders submitted links (wrote comments?) everyday using different usernames, to get the community going.

Can we please not celebrate scammy behavior?


I mean....if the content is there, and people found it engaging enough to want to interact with it, is it really scammy? _Dishonest_ is probably a fair descriptor of presenting the content as coming from more people than actually were (and if those "usage numbers" were presented as actual usage numbers for, like, VC funding, then it's an out-and-out scam), but I don't think it's really _that_ much of a scam as-presented. If someone told me tomorrow that all of the content I'd read on Hacker News for the last month had all been provided by one extremely prolific person with a bunch of sockpuppets, rather than by multiple actual real human people, it wouldn't reduce the value or enjoyment I'd got from them.


Maybe we need to agree to disagree, but I find dishonesty scummy. And I would find invented discussions less engaging.


The flipped vowel is extraordinarily relevant! I agree that it's scummy, but not scammy.

> And I would find invented discussions less engaging

I would predict that I would, too - but, evidence suggests that it was engaging enough to get people interested, so maybe our predictions are incorrect.


the truth doesnt need to be defended cause the truth is no one, and it doesnt care to be defended. The one you should defend is common good. And truths as when they pertain to common good.


What's the definition of "scammy" if not "dishonest for profit"?


I think scam generally implies that someone was swindled, told they'd get A and get Q (or nothing at all). Sold a bill of goods (but not the goods).

In the case of something like Reddit, you come to read content, and once you've readit, you write it, and then read some more. I'm not sure you're ever really sold that you're even engaging with actual people.

These days, I frequently wonder what percentage of comments on any of these sites is genuine (although I happen to believe it's still a pretty high percentage). Its good to assume noble intent, but to also carry around skepticism.


> I think scam generally implies that someone was swindled, told they'd get A and get Q (or nothing at all). Sold a bill of goods (but not the goods).

It's much more broad than that. A common sales tactic is to pretend there are other folks interested in what's being sold; maybe this is to make it seem popular, maybe this is to push Buy It Now for a limited (maybe one) item. Some folks will have a fake interested party show up in person.

I would call all of that a scam, even if I'm paying the listed price and get what was promised.


As a sibling commenter suggested - to me, in order to have been scammed I need to have lost something (or, equivalently - been induced to pay more for something than I would have otherwise considered a fair price). You can certainly make the case that Redditors were "buying" entertainment with their time, so it's reasonable to describe a transaction as having taken place. I don't, however, believe that the content and comments they were consuming would be devalued if they found out that it was being submitted by a small number of people using multiple accounts. The entertainment value derived was the same.

Dishonesty is not sufficient to render something a scam - the scam-ee needs to "lose out" in some way. In this situation, I don't believe they did.


Why do people have to be such grumps about this kind of thing? No laws were broken, nobody got hurt, it continued only for a few weeks whilst the site got up and running, and we only hear about it because the site became successful. Yes you're correct that it was not 100% authentic and honest. So what? White lies are a thing that everyone can accept. Zero harm was done. We can afford to see the fun in something like this! (And for the record, I don't really use or like Reddit.)


Why do people have to be such grumps about this kind of thing?

Years ago, I was trying to rent an apartment. After the visit, the owner, an old lady, invited me to some tea in her own home nearby.

Not sure how the conversation came to that, I think it started with me asking about a parking spot, but she told me that washing the car is for poor people.

"For someone that drives a nice new car like yours it doesn't matter too much if it's clean. It's the guy with an ugly old car that spends a lot of time cleaning it, hoping that it will look better".

I didn't rent the apartment, but I learned a valuable lesson: don't worry about a little dust here and there.


The weird old lady clearly didn't live anywhere it snowed very often.


> No laws were broken,

Who cares about laws? It's just bad karma. You are deceiving people for your own profit. Whether it's legal or not does not matter at all. it's just what douchebags do.


I can think of several things the Reddit founders have done to summon bad karma, but a bit of sockpuppeting in the first few weeks to prevent the site from being empty is not one of them. How many people who visited Reddit in those days and enjoyed the content would have ever complained about being “deceived”. Absolutely zero. Nobody cared then and people only care now so as to fingerwag.


His ethic treaties are the most boring of his work, but Kant the german philosopher had an opinion on ethics around your actions becoming universal.

So in this case, would you want most internet traffick to be sock puppets that increase visibility for companies?

I think the obvious answer is no. So if we do not want to have the entire internet be fake content pretending to be organic users, we should not want it for Reddit either


> So in this case, would you want most internet traffick to be sock puppets that increase visibility for companies?

I might if it were only for the first few weeks/months of a totally new internet almost nobody except sock puppets was logging into. If there's nothing on the new internet, anyone who does log in will log out once they see they can't find anything.

> So if we do not want to have the entire internet be fake content pretending to be organic users, we should not want it for Reddit either

No one wants the entirety of reddit to be fake content, and thankfully it isn't because the founders could back off once they got momentum. Of course there are still sockpuppets on reddit, and the internet as a whole, but that doesn't mean there's never a time, a place, duration, or proportion at which they're acceptable.

It's kind of like saying: "You should never ever eat ice cream because of how terrible it would be if everyone on the entire planet ate nothing at all but ice cream for every single meal. We'd all get sick so clearly eating ice cream at any point for any length of time must be inherently wrong!"


Yep thats one of the criticisms of his Ethics (there are plenty others).

But the problem is, there is no arbitror on what amount, duration, or proportion is acceptable. Being inherently dishonest from the start, there is absolutely no way to know what percentage of early, or current Reddit content is inorganic.

The problem with "I will break the rules a little" is that its a gateway drug. Corruption does not start from someone signing a blood diamonds deal with a warlord, but with people in the org thinking small ways to not do things "by the book" and escalating from there. Thats the reason there is "a book", because if we all agree on the rules and we let those who cheat win, then the ones who cheat the most will win every time. (See taxation loopholes for another glaring example).

You could always have transparent inorganic content. "Admin_cat_content", "Admin_politics_content" as named accounts, post some content and people clearly know who is behind the content, and the type of stuff they are sharing, the communities they are fostering etc. Or you could have an existing network that you leverage (like harvard students for facebook) instead of starting a social media with fake accounts.


If Kant is being invoked about this we might have strayed into the weeds just a little!

> The problem with "I will break the rules a little"

So this whole argument presupposes there were any “rules” that were broken.

There weren’t. It was/is an anonymous site, where anyone could/can register any number of usernames and post whatever they want under each one. And nobody who liked Reddit then or now would have any problem with what the founders did to simulate activity and get it growing. It is only people like finding reasons to finger-wag who fixate on this.

Honestly there is room for playfulness in how we start products/companies and how we look at it years later.


> So this whole argument presupposes there were any “rules” that were broken.

You're conflating legal laws with social and moral rules.

Nobody's claiming they broke legal laws; they're claiming they broke social and moral rules.

Rather than discuss that point, you retreat to arguing they didn't break legal laws.


There is no social/moral rule against simulating usage on a brand new website that has no organic usage.

People in this thread are writing whole screeds arguing the importance of condemning this supposed moral breach, but it’s a case of the beg the question fallacy: people are seeking to prove there was a moral breach by assuming there was a moral breach.

I say again: nobody who was an early organic visitor to Reddit has ever complained of being deceived or harmed, and indeed they self-evidently benefited by finding content they liked and a site they wanted to post to.

Also: from the very start of this subthread my main point has been against grumpiness, and people keep grumpily replying, apparently trying to defend the importance of grumpiness. I mean, sure!


> If Kant is being invoked about this we might have strayed into the weeds just a little!

I find his ethics quite a bore, like many christian thinkers he very quickly skips all the fun bits to jump into "god" as an answer. But the universal maxim principle is quite fun to use as a metric for "small infractions" that are easy to wave away (specially when forgiving yourself) but that would make live hell if everyone did them all the time.

> There weren’t.

They were though. Maybe not explicitly but social contracts are still rules. And despite having usernames and not personaly linked info most people assume 1 nick = 1 person. If I created twelve accounts and replied to you with all of them, sure no "rules" would be broken, but anyone who stumbled upon this conversation would implicitly think a large number of people disagree with you.

Famous users have been banned later into the platforms lifecycle for doing exactly that, just getting a few accounts to upvote themselves. In reddits economy the first 5 upvotes are are good as the next 1000 basically.

> And nobody who liked Reddit then or now would have any problem with what the founders did to simulate activity and get it growing.

They do not know what they could not get. If there was a better app, a better founding team who was chasing Digg's fall but did not cheat they might be left in the dust of history. And in a parallel universe the users would be happier with that platform than they are now on Reddit.

Capitalism could reward something more than speed (or in this case network effects) if someone else had a better platform without sock puppet accounts.

(Similar arguments can be made about the jailbait subreddit and the ethical implications of that and the initial growth of reddit but thats just seeing trends in their ethical behaviour beyond their founding)


There is no “social contract” against simulating usage on a site that has no organic usage.

> a better founding team who was chasing Digg's fall but did not cheat

Every new social site has to find some trick to kickstart usage and break out of their chicken-and-egg trap. There’s no “cheating” to speak of here. It’s playfulness. The teams that tried and failed to grow this kind of thing would have failed due to a lack of playfulness and imagination.

I say again, we can afford to see the fun in this, and commenters might reflect on their need to react to my appeal against grumpiness by replying with more grumpiness.


> There is no “social contract” against simulating usage on a site that has no organic usage

If we cannot agree that most people expect nick to mean one person then we are not gonna agree on anything else. But that is one of the most basic assumptions of anonymous internet comms since IRC.

> Every new social site has to find some trick to kickstart usage and break out of their chicken-and-egg trap.

good marketing, leveraging existing IRL networks, transparent content from the founding team.

Youtube made a video with the creators at the zoo, Facebook used harvard students knowing each other irl, etc.

> There’s no “cheating” to speak of here. It’s playfulness.

They say the way to hell is paved with good intentions. Playfullness is a very cute way to frame deceit, but its still a lie to most.

Grumpiness out of the market rewarding liars and cheaters is the obvious, and normal response. The proposed goal of a market led economy is the efficient market hypothesis, if you find obvious, glaring, examples of non optimal solutions (such as cheating, corruption, law breaking, scams, deceit, fraud etc) being rewarded instead of punished then yeah you should be grumpy.


Please try and step outside yourself for a moment and consider how many extreme words (hell, deceit, lie, cheating, corruption, law breaking, scams, fraud) you've included in this comment, about an act that nobody has ever claimed to be harmed by and no government agency has ever expressed any concerns about, and by your own argumentation can only be deemed wrong according to the philosophies of Immanuel Kant, which is no objective standard of morality at all - just one person's musings a couple of centuries ago. If the Reddit foundation story was as self-evidently heinous as you're insisting, you wouldn't need to use all those charged words.


> how many extreme words (hell, deceit, lie, cheating, corruption, law breaking, scams, fraud)

Extreme words? Half of them are simple descriptive nouns of legal parameters being broken?

> about an act that nobody has ever claimed to be harmed by and no government agency has ever expressed any concerns about

"Nobody has ever claimed to be harmed by", seems wrong considering Reddit has now banned the practice, Hacker news bans the practice, Steam bans the practice and most anonoymous online forums have explicit rules against fake account, multiple accounts etc?

If nobody is harmed why are they explicitly banned by the large part of the ecosystem? Also the goverment in multiple countries has proposed end of anonimity bans, things like tying your twitter to your driver license or passport. In what universe is that "no goverment has expressed concern" when they went full end of privacy over it?

> by your own argumentation can only be deemed wrong according to the philosophies of Immanuel Kant

That was a simple thought experiment, and no, by my own argumentation it is wrong entirely based on the fact its deceitful. And lies are inherently wrong. In this case they disrupt one of the assumptions of the market model, but in any social interaction they usually break a rule. In conversation they would break one of Grice's maxims.

> If the Reddit foundation story was as self-evidently heinous as you're insisting, you wouldn't need to use all those charged words.

They deceitfully added content to their site. I dont know how that is a charged adjective, its what they did by definition. The rest of them where in relation to other points, things like corruption and scams grow from small deceits, that is just studied psychology.


First, a couple of claims of fact to correct:

- Reddit, HN, X/Twitter, Instagram, plenty of other sites have no bans on the kind of usage of multiple accounts that the Reddit founders were doing. Plenty of people have multiple accounts for all kinds of different purposes and nobody considers it wrong. The kind of sockpuppeting/astroturfing/self-posting/ringvoting that is banned on social sites is very different, and banned for very different reasons, vs. the early Reddit conduct.

- 'In what universe is that "no goverment has expressed concern" when they went full end of privacy over it?' - "...over it" is a complete falsehood and another sign you're on weak ground. Some governments have proposed identity requirements on social media platforms but for reasons that have nothing to do with anything the Reddit founders did for a few weeks in 2005.

- "it is wrong entirely based on the fact its deceitful. And lies are inherently wrong" - As I wrote elsewhere, we all accept that mistruths can be benign, beneficial or funny in some circumstances; white lies, pranks, jokes, stunts, hacks. It all comes back to who was harmed, and you still can't name a case of someone who was harmed by what Reddit did, you've only suggested hypotheticals and inferences.

I've certainly spent enough time in this discussion, and I know it's a bad look on HN to perpetuate tit-for-tat arguments, so I'm certainly out. When I engage in a lengthy discussion like this, which I don't do often, it's to try and figure out what I'm missing about a topic - i.e., what has someone thought of about this that I haven't thought of?

What I see in some of your comments is at least borderline fulmination, which is in breach of the HN guidelines. I also see in this and other of your comments, as well as those from others taking the same position in the subthread, several cases of the beg-the-question fallacy: that is, trying to prove that this act was something egregious by assuming it was egregious, and using words that necessarily characterise it as the worst kind of transgression, when the severity of the transgression is the very thing that's in question.

The right way to discuss this topic is to explore exactly what kind of deception was committed and who was actually harmed by it, but I'm just seeing repeated insistences that we accept that this was a terrible act, without any earnest effort to demonstrate it.


> Reddit, HN, X/Twitter, Instagram, plenty of other sites have no bans on the kind of usage of multiple accounts that the Reddit founders were doing.

Reddit founders were posting, commenting and using various accounts. It all fits astroturning and sockpuppeting. Again if they wanted to just have content there is 0 reason to not disclose they are admins. They pretended it was organic for a reason.

> Some governments have proposed identity requirements on social media platforms but for reasons that have nothing to do with anything the Reddit founders did for a few weeks in 2005.

Stopping bots astrofurning (more i the political context) is a reason given both in US and UK proposals. So yeah goverments have mentioned "people pretending to be more than they are" as a reason. You can be extremely nitpicky and pretend that it doesn't cover this case, but its certainly in the intention of the law.

> you still can't name a case of someone who was harmed by what Reddit did

Every other forum that provided a similar service. From niche forums, that were gobbled up by reddit, to other digg alternatives. Reddit swallowed communities with insane growth, all predicated on fake engagement. If you make a hoodie brand and buy 10,000 followers on instagram and people think you are popular and you jump over other brands who are doing a better job, you have lied and deprived people from finding those other brands that had a better product.

> The right way to discuss this topic is to explore exactly what kind of deception was committed and who was actually harmed by it

The deception was non transparent content, predicated on the expectations of the audience, intended to portray the product as more popular than it is. This lie vulnerates the predicate of honesty of the optimal market hypothesis which is the basis of the modern market economy. The people who were harmed where thus direct competitors and future consumers because those are the intended parties of the optimal market hypothesis.


> with people in the org thinking small ways to not do things "by the book" and escalating from there

…and then you get the chaos of India.


Huh, HN and as usual giving benefit of doubt to startups

Is upvoting your own submissions on HN ok too?


The site is literally called Hacker News and it was built from the start to be a community of current/potential startup founders.

(And no, self upvoting/ringvoting isn’t ok on HN and probably hasn’t been on Reddit for 17.5 of the past 18 years either. We’re talking about bootstrapping a totally new site in 2005, nothing more.)


Both self upvote and creating X accounts are form of manipulation. If vote manipulation is bad, then why r u ok with artifical increase of users?

Artifical users on dating apps are OK?

>The site is literally called Hacker News and it was built from the start to be a community of current/potential startup founders.

Im aware, so thats why probably ppl here are ok with those manipulative practices used to bootstrap.


I've addressed these questions in several other comments in the thread. To repeat: no laws/rules of any kind were broken. Nobody was harmed. Nobody who was a user of the site in those days has complained of feeling deceived. It's a funny, playful thing to do with zero harm done. I like funny, playful things. The only people who care about this are people who like to finger-wag. Knock yourself out if that's what you like to do.


This is similar to buying fake traffic or reviews, it is just manipulation.


No, it’s entirely different. You’re picking things that are clearly fraudulent and asserting an equivalency, without basis or examination.

Reddit’s practice was a simulation of activity to see what kind of activity was engaging. Nobody was defrauded or harmed and no legal or moral rules were breached.

This comment commits the beg-the-question fallacy of assuming the conclusion (fraud/moral breach) in its argumentation.

I understand that people have a need to believe that behind every fortune lies a great crime [1], but this is not the smoking gun people are looking for.

[1] https://quoteinvestigator.com/2013/09/09/fortune-crime/?amp=...


"it was not 100% authentic and honest. So what?" i.e.: it was a lie. Which some people think isn't great behaviour. Clearly, you disagree but I think it's reasonably normal for people to have issues with lying


> I think it's reasonably normal for people to have issues with lying

My point is that it's needlessly grumpy. It's fine if you want to be grumpy! But it's worth examining why this is a particular thing that triggers you. Far worse lies are told by politicians of all stripes every day, and we accept it as part of the system (particularly if it's a politician we voted for, not so much if it's one we voted against.) We should have a think about why we're getting tied up in knots over some shenanigans played by a couple of early 20-somethings almost two decades ago.


> ar worse lies are told by politicians of all stripes every day, and we accept it as part of the system

Who pretended that we were OK with politicians lying through every breath? Don't put words in people's mouths.


Sure but the point is we all have our own standard for what kinds of subterfuge can be acceptable in certain circumstances. As I said in the first comment, we all accept the concept of white lies. We also accept jokes, pranks, stunts and hacks of various kinds. We can choose to be grumpy, moralistic and finger-waggy about Reddit’s method of breaking out of their chicken-and-egg trap, or we can see it as a harmless, funny prank. It all comes down the the question of who was harmed, and in this debate, nobody has even tried to point to any case of a real person who was in any way harmed by this act. Any claims of harm are imagined hypotheticals to justify the finger-wagging, which is what this is really all about.


Can you show us where exactly is OP’s comment indicative of a “celebration”? They’re simply citing examples.


Same thing happened on this site. To this day most comments and discussions are between the two HN moderators using a panopoly of usernames and ip-cloaking.


Can't tell if you're being sarcastic, however it doesn't translate well in online discussions. So I'll take your comment at face value and provide you with what I hope to be an illuminating thought exercise.

According to Dang there are (or were) 13,000 comments a day [1], if we assume "most" to be ~6501 with an average comment length of 65 words, that's 422,565 or ~211,000 words per day from our two gracious moderators. Assuming the standard working hours of nine to five, that would equate to 26,375 words per hour or 439 words per minute, coincidentally breaking many records.

1: https://news.ycombinator.com/item?id=33454140

(yes, I realise this comment is slightly OTT, but I was interested to see what the raw numbers would be)


Dang, is that you?


Why would ip-cloaking be necessary if it's your own site?


Great question.


we are all dang on this blessed day


Indeed.


dang-mode for days?


I had a product to help political campaigns canvas neighborhoods door to door. In the early days there was a "smart walk sheet" feature, which would magically pick the optimal doors to knock given how much time you had (e.g. 2 hours after work).

While I was building out this feature, I'd stay up late in the night manually selecting clusters of houses and setting them for the customer, so the next morning they'd be greeted with what looked like our backend systems auto-magically picking the perfect cluster of houses.

The bonus of doing it manually for a while is that I found a lot of edge cases I would have missed otherwise. The initial release of the finished feature was rock solid thanks to what I learned.


> The bonus of doing it manually for a while is that I found a lot of edge cases I would have missed otherwise. The initial release of the finished feature was rock solid thanks to what I learned.

This is one of the great benefits of doing things that don't scale. Reality has a surprising amount of detail, so to write code for a process you need to be an expert at that process. How do you become an expert at anything? You have to do it for yourself.


I feel like this is a fantastic example, as it’s one of those things a computer should be able to do perfect toy at scale, but for a quick and dirty solution on a smaller subset it’s something humans are really good at.


What ended up happening with this product? Super cool way to hack it together and props for putting in the effort


I manually review the ~3000 or so domains in Marginalia Search's random exploration mode every once in a blue moon. Takes like a solid afternoon but I'll be damned if it doesn't improve the experience quite a lot.


Hey, somehow I didn't know Marginalia stuff exists; now looking at the search and encyclopedia, both look very useful, thank you for creating this!


Thank you for your service. This is one of the times I wish I could follow people on HN.


Thank you.


I have an example before this became a thing, and was actually framed as "that's a problem I would love to have".

We were developing software for MS PocketPC, and at one point implemented some registration system that a colleague wanted to approve manually for each user. (Was kind of like a new test or something, can't remember the exact details anymore).

Anyway, me as an developer said: "You care crazy, this needs to be automated, what are you going to do when we get 100 registrations a day?". Business guy responded: "That's a problem I would love to have! I would happily validate 100 registrations per day, because that means we'll have the funds to automate it!".

Long story short, that specific system never took off and automating it would have indeed be a total waste of time.

Since then, I sometimes fall back to the question "is this a problem I would love to have?"


> "is this a problem I would love to have?"

It's actually something I use all the time when on a small team. My argument goes something like this though: "lets work on it when we have an actual problem to solve, right now, we're just making one up." Basically, once manually doing something becomes a part-time job, then it is worth automating. Before then, it is simply an invented problem.


If you're interested in this area, Lean Startup (book or general resources from that area) might be helpful. One example from the [Wikipedia Page](https://en.wikipedia.org/wiki/Lean_startup):

> As an example, Ries noted that Zappos founder Nick Swinmurn wanted to test the hypothesis that customers were ready and willing to buy shoes online. Instead of building a website and a large database of footwear, Swinmurn approached local shoe stores, took pictures of their inventory, posted the pictures online, bought the shoes from the stores at full price after he'd made a sale, and then shipped them directly to customers. Swinmurn deduced that customer demand was present, and Zappos would eventually grow into a billion dollar business based on the model of selling shoes online.

It also is very common for "AI" startups to have the AI just be manual work, though this can be controversial: https://www.404media.co/kaedim-ai-startup-2d-to-3d-used-chea...

We also definitely did it in the early days of my non-profit — we wanted to build a very optimized public records submission platform that handled mail, fax, etc., but in our early days I literally hand delivered records requests, which was super helpful from learning but at $2 per request was a huge money-not-maker.


Bill Gross started carsdirect.com with no cars. They made the site and offered the cars for sale.

When people bought them, the team would run out with a credit card and buy a car for real and then sell it to the online user.

True story.


Where I live onselling is illegal, but it is still a pretty common practice for small online retailers to just not stock some items and go buy them at retail when it's ordered. It makes a little bit of sense, since it lets you expand your catalogue without keeping stock on hand or negotiating a supplier. For a small ecomm store, that can mean the difference between looking like a legitimate retailer a customer can trust or not.

This is different to the practice of buying up stock on sale and reselling on marketplaces.


How's all dropshipping illegal? Why'd you have to own the item to sale-and-delivery contract it to your customer?

Note that if strict, this would ban made-to-order sales that aren't marked as such to the customer.


Btw, that was 1998. Bill was ahead of his time.


> We also definitely did it in the early days of my non-profit

We are in Phase One testing of our NPO flagship.

It has been designed as a native Swift iOS-only app (but the backend will feed anything).

It also has a few design "tricks" that probably won't scale to millions, but has been tested with tens of thousands (of fake users). They make it lightning fast, and it will be a sad day, if I have to sideline them, in the future.

We sign up users manually, one at a time. I'm developing a dashboard, to lubricate that process, but it will still be manual.

Fortunately (for us, but many for-profits would hate it), I think it will be a long time, before we get to the point where matters of scale become an issue. We Serve a small, demanding, demographic.

Also, we don't collect PID. Extreme privacy and security are a big part of our model. I deliberately avoid a lot of the dependencies that could introduce issues.


> [EDIT] Heh. I find it absolutely fascinating that this post, describing our own small, non-threatening, NPO app, has already earned a ding.

There's a barrier to being able to downvote, but the only downvotes I actually see on HN seem like they're given in bad faith. I'd love an option to turn off displaying downvoting at all since it's never useful to me; from my perspective random comments just fade off a page, usually in the middle of a thread.



If I had to guess, you're being dinged because this is your only contribution to the conversation about doing things that don't scale is: "We sign up users manually, one at a time."


Actually, I suspect it might be because the original version mentioned that the way we do things was not going to be popular with profit-seekers. Its tone was a bit petty, and I removed it.

Otherwise, it is absolutely relevant to the topic at hand. I described:

1) Native iOS-only (not something that will necessarily scale. A large part of our demographic uses Android, and I am regretful that we don't Serve them, but I don't write Android, and don't want to use a hybrid system or PWA)

2) Uses "tricks" to improve performance (I mention these may not scale into the millions. An example is loading a fast list of minimal info on all the users on the system, so we don't have to do realtime searches)

3) We do sign up users manually (BTW: lots of other posts, here, say pretty much exactly the same thing).

But it could also be because I mention that we don't collect PID, and that I eschew dependencies. These postures don't play so well, in today's tech industry. Dependencies are how to scale, but they can also add risk; sometimes, big risk. If we screw up our data, it could put people's lives, careers, and families, in actual, physical danger, so we're kinda anal about that.

But our app will be great. It absolutely Serves its users well, and we're already getting a great deal of positive feedback (We've only been testing since Monday). My main concern is that we may have to scale sooner than I expected.


I only ask this out of sheer curiosity - WTH are you building?


I won't announce it here, as the very last thing it needs, is thousands of curious geeks, registering one-time-use throwaway accounts. Like I said, each signup is vetted manually, by, like, two of us.

If you are truly interested in what it will be for, feel free to get to me, offline.


I think Bezos did something similar when he started Amazon. Every time they had a new book order they would buy it from a bookshop then ship it.

Apparently they had a bell that would ring every time an order came in. They soon had to turn it off.


As someone who really appreciates the lessons learned in Lean Startup, kinda breaks my heart to know Ries had a heavy hand in the creation of R E S I S T bot. Hard to appreciate the art once you know the artist.


Just remember to automate the manual process at some point.

from https://allenpike.com/2023/dialup-world-isp:

"1. When a customer submitted their signup form to Dialup World, they would add a row for that new customer to their 20,000-row Excel spreadsheet.

2.Then, they would put that signup form in a pile with all the other signup forms of customers who had signed up on that day of the month.

[billing steps removed]

5. When a customer called to cancel their service, they would stop that customer from being billed further by simply – I shit you not – finding that customer’s signup form and trashing it. No signup form in the pile, no more bills going out.

You gotta hand it to these people. The seminal startup essay “Do Things that Don’t Scale” didn’t come out until 2013, and these legends were doing things that didn’t scale way back in the late 90s. They got 20,000 signups billed with the process equivalent of a shoelace and a discarded sauce packet."

Assuming they distributed the signup forms evenly amongst the 20 working days of a month, that would mean the billing group would have 1,000 bills to handle each day. Slogging day in, day out, forever. Might as well have named the group/department Sisyphus.


There is indeed a fine line between “do things that don’t scale” and “keep your terrible process in place far longer than you should.”


Ironic that it's an IT company doing this.


I was once given the advice to never buy a car from a car mechanic because they never give their own cars much attention.


I bought a hundred different label printers off eBay/amazon so I could reverse engineer and test all the different protocols. Now my app works with most label printers on the market and manufacturer’s send new models to me without even asking.

I personally answer every support email. My wife once asked me how many customers I had. Then she asked how many email support emails I’ve handled over the same time period. They were about equal (5 figures over 5 years)!

https://label.live/

Edit: on second thought, maybe I did things that DID scale. Hmm…


Do you have a hilarious test suite that physically prints 30 complex designs to ensure things are ostensibly working? Do you have a room with dozens of the printers live at a given time?


Yes, I have a room with 100 label printers. They aren’t powered on. If I make changes to the built-in driver then yes, I take out the printers and make sure they function as expected. The way my app works is by sending raster images to the printers (vs explicit commands for text, barcode, line, etc). Because of this, much of the pixel-perfect testing can happen via PDF generation, which is the other core feature of Label LIVE - submitting PDFs to operating system printers (drivers), or generating and saving PNGs/PDFs to the file system.


I imagine a giant knife switch on the wall outside the room, to power up all the label printers at once while you're safely outside wearing a lead apron.


I once visited a HP site in Italy where they had hundreds of inkjet printers on racks running tests. I think it was reliability testing rather than software.


Interestingly, and perhaps ironically, Label LIVE is used by FAANG to print labels for their mobile testing labs where hundreds of mobile devices run their apps on real hardware, server racks, super computing clusters, and labeling prototypes.


Cries with the demise of the original Symbol. (It's owned by Zebra now.)

A giant university student housing department changed their FMMS system from Apple Newton MessagePad 130 from Symbol MC50's in the spirt of Barcodes and database for all the things! In that era, I had ~50 unique smart PDA-barcode scanners on my desk.


Wow. I didn’t know this history. Poor MessagePad… Eat up Martha!


It was one of the last known large-scale users. They were pretty durable and it was needed as they were used outside and in spaces with humidity, dirt, etc.

The final contenders came down to the MC9000, MC50, and MC430. The MC9000 was "too expensive" despite meeting all of the requirements, so the MC50 was chosen.

PS: I acquired an eMate 300 because it's quirky and interesting.


>My wife once asked me how many customers I had. Then she asked how many email support emails I’ve handled over the same time period. They were about equal

That's similar to me. Roughly the same amount of support emails and customer orders. The funny thing is when I looked deeper most people raising support issues didn't buy and most people who bought never raised a support issue.

On the subject of label printers one of the things I'm looking forward to in retirement is never touching a printer driver for a label or receipt printer again. They caused me so much aggravation.


True story in the asymmetry of support vs sales. My “best customers” are the people who google for a solution, download, it works, and they buy a license. Done and done.


How long did each reverse engineering take you? This seems like something that would require scale, so well done.


An hour to a few days. Sometimes a week of back and forth to 1) make it work, 2) make it work right, and 3) make it work fast.

Many times there’s a PDF for the printer “language.” Think ZPL or TSPL. But even then, each printer has quirks (two incompatible settings) or a setting that’s unitless (dots? mm?) and the best way to nail it down is by using a USB sniffer, capturing the commands, and then implementing similar custom controls and logic in the app.


Amazing!! Now I want a label printer just to test this.


Barcode apps and libraries that render and scan can do the same without consumables.


True story. You can play with the app by downloading and installing. By default it generates PDFs.


I'm building a new product for farm monitoring (IoT device that monitors soil moisture and other enviro/climate conditions). I spent a whole lot of time in the past few weeks hand-soldering circuit boards using prototype boards (one step up from breadboards), then drove ~10 hours to a remote town to install them on farms and stayed around for a few days to get/keep them working.

By doing that I not only ensured they were up and running in good shape, but I learned what it's like to be the person installing and maintaining them. We have an installer in town who made the intro to that customer, but for this new product it was a big learning experience to be there, doing it myself.


I'm genuinely curious if you could elaborate a little bit more, thanks.

I always thought about a product like that in my area but the "features" you mentioned (soil/climate conditions monitoring) are pretty simple, so I wonder if you're still able of finding a market (fit) for products like that, that "anyone" could build. Are you able to find customers, which I assume is B2B?


Markets exist for just about anything. The hard part is finding them.

For example: one of the simplest things I've built this year is a device that reads an input and then turns on an LED and sends a message to a connected app (I didn't write the app) when the input changes state.

After I shipped the first one, the customer came back and asked for 10 more and they expect that over time they may need about 100 or so. I can do stuff like this all day long: it's technologically trivial, but world-altering to the people who need it.

My main problem is getting people who need these little machines to know how to find me.


Wow.. what kind of an input? I sometimes want to get back into hardware.


12V signal from an external device.


If it doesnt work for B2B then you should make one for plants at home (i've been looking for a bluetooth-like "this plant needs watering" thingy for a while and haven't found a good choice).


The "problem" with that is that typically an item that a business will happily pay $200 for can only be sold to a home customer for $10. Selling consumer items is a good example of things that require scale.


I've been happy with our "North Flower Care" BLE plant monitor. Monitors light (which is not useful IMO for an indoor plant), moisture, temperature, and soil fertility. There's a companion app that can record the data and correlate it with what the plant you've configured finds ideal.

I paid $11 for it, which is a lot more reasonable than the current $30, but if it helps a plant you like grow... I don't actively monitor it with an automation, but I recall poking at it with one of the NRF apps and seem to recall that the data format was open enough that you could monitor it outside the official app.


Xiami Flora should be good enough and widely supported (Home Assistant and similar). Sends simple BLE packets.


Ecowitt sensors are well done in my experience and they have a soil sensor product. Works with HomeAssistant too.


> We have an installer in town who made the into to that customer

Excuse me? Could you please rewrite that one?


I run BenkoPhone which is the only business mobile number app in Australia that supports voice, txt and picture messages, currently 211 paid users in 50 different companies and $100k ARR.

The very first version was an old Android phone sitting on my desk that I connected to Trello for messaging and Bria for voice calls, for a handful of clients.

We later launched an app, but we didn't build the app ourselves we licensed it from a 3rd party vendor who does white labelling, and we used their demo version to sell the first corporate customer, who's setup costs paid for the white label one-off licensing costs.

Then we developed a proprietary, scalable hardware platform to manage the connections so we don't have to use Android phones anymore, but we still don't have our own VoIP stack, so when customers express interest in a free trial, we have to firstly contact each one to make sure they're genuine (almost all free trial requests are from scammers). Once they have tried the product, they put their details into DIFFERENT TypeForm, then we have to manually enter those details into our VoIP reseller platform and create the users and devices in the PBX, then we have to email our mobile carrier to provision the numbers because we don't have a direct wholesale connection yet.

That whole process can be automated once we have a different VoIP platform and have wholesale carrier connections.


In 2014, I built some tools to make it easier to automate AWS and Google Cloud deployments. I did the following:

- Applied to devops jobs on Angelfish, target companies with 10-20 employees

- Passed their phone screen, learned about the particular automation problems they had

- Offered them a SaaS subscription with a promise to set up a working solution in my product for their problems.

- Explained that subscribing to my service would be much cheaper than hiring me.

Most declined, a few were offended at my bait and switch, but 3 of them became my early customers and used my service for years, eventually taking over and maintaining their own solutions.

I think identifying the right customers- other startups with VC cash that were too small to have too much red tape and had big problems without tools and staff- made this work in the early days. It was a blast working on this stuff back then.


lol, that's rich of employers to get offended by a recruiting bait-and-switch !


What's Angelfish? I have used Angellist..


Obviously it’s Algellist for sleazy fishing purposes like this


I have a small side project where I scrape a Finnish news site and generate high quality flashcards from its content for fellow language learners in the form of a daily email. I sell bulk access to the back catalogue for more serious learners.

I don't want to pay any cloud costs, so all the scraping, flashcard creation, etc are just shell scripts on cronjobs that runs every hour or so on my personal laptop. The back catalogue is persisted to my other devices via Syncthing, instead of living in S3. I give the deck a manual review every day before I send it off, which I guess also counts as dogfooding.


I build synthetic DNA. In the beginning (and still) I do a ton of steps by hand that I’ve slowly been moving to robots. Hours and hours at a bench picking colonies, designing sequences by-hand for customers instead of using software, writing robotic scripts for one particular customer’s needs, that kinda of thing


For a time, I emailed every B2C customer who signed up. I welcomed them, asked where they heard about BeeLine, and told them if they ever had any questions they could email me directly.

Most people didn't engage, but some did. I was able to nip some onboarding issues in the bud, and develop some evangelists as well.

Some bigger companies automate this, but I always found it feels weird coming from a big company. I was always careful to put "founder" in my email signature, so the recipient knew it was coming from me. And I never sent the email right after they signed up, which might make it seem automated — even though it wasn't.


I used to do that while at BrainLuxury. Also tried to put "I am not a robot " into the subject line, with mixed results. Around 5-10% of customers replied, which is probably not amazing, but not horrible either.


What were you hoping to get from the customer replying?

It seems perfectly plausible that 95% of the customers of an app or online don't want to enter into an email conversation about the service - they just want it to be usable without need for further communication, and they aren't interested in getting involved in your wider sales strategy either.


Actually, I received direct email from founder of eBay when I posted on a message board that I was looking to buy a second-hand laptop, with a listing for laptop on eBay. It was very early days of eBay. I wish I had kept the email and my reply expressing uncertainty about buying on eBay and not receiving the product.


Kayak Founder Steve Hafner used to do that. I was very impressed.


I got the idea from the Caviar app (since acquired by DoorDash).


A couple of things:

1. Your first environment is production. Any other environment exists to protect production from yourself. I worked somewhere where the first environment was staging, then they built production. It was a disaster and staging eventually became production and the original production became staging.

2. If you've been giving away your product for free. Reach out to ALL your free customers before implementing pricing. There are probably edge cases / markets you haven't considered.

A good example here, was reading a reddit comment about some k8s management startup. So we decided to give them a try. The software was absolutely amazing for our bare-metal cluster! So, we went all-in. Then, we went to setup a new cluster a couple of years later to discover that it was no longer free. They never even told us we were grandfathered into an old free plan. Now, we probably would have paid them for a long time ... and told them their pricing was insane, a per-seat pricing would have been better.

Our cluster has hundreds and hundreds of cores for less than $500 per month. They want to charge per-core, and would cost >$2k. They were aiming for the "cloud market" where if you're paying them, you're paying them a small percentage of what the cloud costs. This is sensible, but unrealistic for our kinds of deployment, where simply launching a new server would increase our costs by hundreds of dollars instead of $50.

We reached out to them to make a deal, and they were unwilling to make a deal and treated us as though they did us a favor by grandfathering us in to a free plan all these years. Maybe they did us a favor, but they never communicated that so now we're dealing with sticker-shock and trying to figure out a way to move forward.

Needless to say, we left them with a bad taste in our mouth, and found a better tool. So, yeah, communicate to your free customers that pricing is coming but they'll be grandfathered in; and they can support you by upgrading to a paid plan.

That would have (A), triggered us to evaluate whether the tool is worth it from the get-go, (B), probably would have resulted in us purchasing a license, and (C), we would have been able to tell them much earlier in their journey that they're missing out on an entire market-segment with their pricing.


Can I ask what the new, better tool is? Very interested in simplifying on-prem K8s at the moment.


We're using the Lens tool: https://store.k8slens.dev/products/lens-desktop-pro?plan=pro... ... it's not too expensive per-seat and very good. Even the free version is good enough for most things, tbh.


My first employer is now a decently well known B2B SaaS and we didn't build user interfaces to manage various settings for a very long time. For example, we supported custom fonts, but we would have to jack into production to upload them and manually configure the database to make them available to a given customer. That ability didn't become customer-facing for a decade, simply because it was easier to file a ticket and make an SRE do it.

This is a little tangential but another good piece of advice is to avoid over optimization of the engineering stack. A giant monolith running on the largest RDS instance AWS provides a lot more runway than people realize.


I'm in a pretty low tech industry but that mindset basically describes every system I've built.

The original sin of Software Engineering is building a really well architected system that solves the wrong problem.


I was an early hire at a computational reproducibility startup for scientists [0]; the platform was basically an online frontend wrapped around a Docker container hosted on AWS, and the idea was that you'd put your code and data on the platform and have it be online-executable indefinitely, so you wouldn't have to worry about package updates, functions breaking, etc., because it was containerized.

The long-term goal was that scientists would describe their native software environments at a high level, and then the machine would build a Docker container that matched. In practice, your typical academic has no experience with containers/Linux/system-level dependencies. To prevent their walking away, I basically set up their software environments for them on an individualized basis when they reached out to us through intercom.

As PG says elsewhere, one of the main advantages of an early-stage startup is they can devote an insane level of attention to early users.

[0] https://codeocean.com/


The Hacker News email inbox.


And it's one of the best things of HN, thank you


For us at Doctave (https://www.doctave.com), migrating customers from existing solutions manually ourselves has proved very effective.

The product is a technical documentation platform, and most customers are coming from an existing solution - be it an open source static site generator or CMS of some sort. The pain of migrating is usually a big factor keeping teams in their existing setup, and doing the migration for them eliminates a common objection.

We'll likely keep doing this even as we grow, but right now we tend to offer this service regardless of the size of the customer. The combination of great customer service and everything we learn while migrating the existing content makes it worthwhile.


During the pivot to Caviar (www.trycaviar.com), we were very cash-strapped and had to do most of the deliveries, customer service, and restaurant ops ourselves. We did this growing from 50 orders a month to over 150+ orders a day, non-stop.

If there was a mess-up, to save the cash bleed, I or one of the co-founders would hand-deliver the follow-up delivery ourselves, and apologize in-person. I would like to think our customers thought we literally went the extra-mile to ensure their satisfaction.

And because a lot of restaurants were set in their ways, if we had to send them a fax for a $1,000 order or call them by hand and manually speak to them the order item-by-item, we would. There are many delivery companies, but only a handful of institutional, famous restaurateurs.


Funny seeing this here. In my above post, I mentioned emailing customers and introducing myself as the founder, which was a trick I picked up from Caviar!


That's amazing! I'm glad you've found it useful for your own endeavors.


When reddit first started, all merch was hand packed by Alexis with a note in it. At one point he sent us a stack of 1000 postcards and made all of us sign them, and then used those to pack the merch.


Off-topic but I was curious and checked your profile and wow... you've got a lot of karma on reddit and hackernews. (Also your blog mentions you still working at Netflix, while your HN profile page suggests that was in the past.)


I used to work at reddit so I've been using the site for 18.5 years, which is a long time to rack up karma (and I got a bunch posting reddit blogs and doing AMAs). And I just spend too much time here. :)

Yeah I haven't updated my site in a long time. I left Netflix nine years ago.


Who was it sent to?


I'm unclear what you are asking. What does "it" refer to here?

The postcards went in with the merch and that package was sent to the person who bought the merch.


I got a snoo car sticker back in like '08 or '09 in a regular envelope type thingy, IIRC. I think I just asked for one? Maybe it was a form, IDK.


Some examples:

1. Manually copying and pasting data that can’t be easily programmatically extracted from PDFs/web pages and manually compiling a valuable dataset instead of scraping it, or using some scalable way to gather it such as getting it from users.

2. Finding users on Twitter who mention a specific pain/problem you’re solving and messaging them and having a conversation with each and every one of them.

3. Keep track of the news pertaining to your industry and manually finding journalists and sending them each a custom pitch related to your startup when a news headline or topic becomes popular


Amazon same day delivery was supposedly bootstrapped by ordering ubers via burner phones. Bill Gurley (uber investor) happened to find out during an uber ride talking to his driver.

https://youtu.be/HSVFZ2Qbv3I?t=5681


When looking for early users for a new product, it’s usually better to reach out directly to people one at a time or post in small communities like niche subreddits rather than trying to do a big launch on HN or ProductHunt with the hope of getting a lot of users all at once.

Ditto for more “scalable” marketing like ads or PR. It’s (usually) best to save those until after you have a core group of happy engaged users that you cultivated by hand.

There are exceptions where people do the big launch or large-scale marketing right away and it works, but the risk of failure with that strategy is high.


When we started Chimpy in 2014 (power bank rental company in Switzerland, later more EU countries) we got suitcases and hauled the charged power banks to the convenience stores and hauled back the returned ones. Not using cars, but using trains and buses. This was not efficient nor fun, but doing this got us through the pilot phase successfully until we had enough volume to work with a proper logistics company to do this for us. It also allowed us to speak to the people working at the stores and get direct feedback.


My database technology startup, Fireproof, recently hung out a shingle for custom app development, primarily as an adoption tactic. If we really do have the most productive tools for front-end devs to build data-driven apps, we should showcase them by writing code for real-world customers. Over time we expect services revenue to be a smaller slice of the pie, but if we can make creating the first round of social proof into a financially sustainable practice, we can scale with more confidence because we know we built what customers want. We just launched this today, so you'll have to follow up if you want to know how it goes: https://fireproof.storage/service-and-support/


In ETL work I often come across a nightly job that is harder to implement than most for some snowflakey reason, and I just start my day doing it manually, which might just take a minute. At some point I will get so annoyed that I will take the time to figure it out properly.


There's a whole class of problems I call "small data" - under about 100 things (note: often your sample set is a year lookback, so for example new customers might be > 100 but only 100 for this year, still small data). Anything that looks like that is often able to be handled manually and probably should be until it's sufficiently useful to automate...things that look like this often are: customers, employees, infrastructure.

In general, put off automation for anything that's not every day or month that you can't just do in a few hours , e.g.:

* Parts of performance assessment & compensation tooling

* Sophisticated recruitment analytics (especially important because with small data it's often not precise or accurate/needs manual attention)

* Provisioning new stuff that doesn't happen often: databases, clusters..etc.

* Maybe the biggest bucket of stuff in general is analytics. Often times people try to get whiz-bang end result numbers with data sets of like 100. It's almost always the wrong move to have crazy analytics abstraction layers and automation when the numbers are small.

A potential simple heuristic might be something like: if it take a day or longer to automate, you need to save at least 5 days of time in the next 6 months for it to be worth it.


    if (user.orgID === 'importantCustomer') {
      bespokeFunctionality();
    }
I guess everyone will encounter this one at some point?


I violate DRY all the time in terraform. My process is roughly to write something that resembles a module, and when I need it again, I copy all the code and just change relevant variable values and see how it behaves. if I need to copy again a 3rd or 4th time, usually by that point I will have learned things that allow me to make a much better module/library than if I had relentlessly and mindlessly followed DRY.


DRY is normally invoked when you've got the same thing for a third time.


when we started the vidalia onions project, nothing was automated. We'd accept order w/ stripe integration. We'd manually type in shipping info into UPS shipping terminal & print shipping label at packing shed. We'd then package & ship the Vidalias. Nowadays we've somewhat automated that through shopify & shipstation integrations. (ie. this project: https://www.deepsouthventures.com/i-sell-onions-on-the-inter... )


Original test automation application.

I wrote a new test automation application because in my primary personal application I need to run test automation in the browser, I needed it to be faster than prior existing solutions, and I needed it to be distributed to browsers on different machines of the same local network. The test samples for this new test automation application are just JSON data structures defined against a TypeScript interface, so the code editor literally tells you what properties are missing to complete a test and what the allowed values are.

Its faster than other test automation tools for the browser because it does not make use of CDP. Instead a test receiver is required to be embedded in the given page(s) which evaluates the tests and transmits the results. Its also faster because it only uses WebSockets and not HTTP. I was executing 89 tests comprising a total of 284 points of evaluation against event execution in the browser at 6.22 seconds from Node start to test completion.

This took tremendous trial and error to get correct, but now I have experience writing and executing test automation at a depth that almost nobody else has and can do it faster than all the popular test automation applications. It also required that I rewrite large portions of my primary personal application to make everything WebSocket based for faster execution across the board and also to greatly simplify the service/transmission architecture on both the browser and the Node layer.

This experience is winning me employment at higher rates when many senior developers are challenged to find new employment. Writing this new test automation did not scale at all and took tremendous time to get correct and stable, but now it allows scale and rapid execution of colossal refactors I could never do before. Since the test automation executes on the local machine only in less than 10 seconds I find that I was running it dozens of times a day for large feature enhancements.


ZeroCater started as a guy with a spreadsheet managing orders by hand:

https://techcrunch.com/2013/04/06/how-i-started-zerocater/?q...


One of the things that we did at Kapwing (https://www.kapwing.com) was manually edit videos using our own platform and sharing these videos with bloggers to try to convince them to use Kapwing. We could create a relevant video from an article that they wrote, and then share them the link to the project so that they could edit it directly with our tool.

Another random thing we did was try to make chalk posters on the streets of SF. We chalked our logo out in front of the 4th and King Caltrain station so that tech people would see it when coming out of the station. Unfortunately, that only worked for a day though, because the SF crews are very good at powerwashing the sidewalks.


This is in a different direction than most people, but i think the "SoftSecurity" approach of early wiki sites fits. http://meatballwiki.org/wiki/SoftSecurity

The idea being instead of blocking malicious people or doing automated detection, you should spend human labour to just undo them until they go away.

Early wikipedia from what i understand didn't even have a block function - instead if someone was too overwhelmingly problematic you had to find someone with server access to block the IP on the webserver level.


I once sent a snail mail letter from my little company to one of our subscribers in another country who was having trouble and emailed us about it several times but was apparently not receiving our email replies. It worked. :-)


Here is an example of a successful business bootstrapped that way: https://twitter.com/levelsio/status/1717183107529576672

Quoted here:

First version was an index.html + @Stripe link + @Typeform to upload photos, then I manually dl'd the photos and uploaded them to the GPU

Pic 2 is current version as a web app after 1Y: 100% automated, 1850 customers @ $79K MRR, renamed to http://photoai.com



The Y Combinator YouTube channel has videos with specific examples. https://www.youtube.com/watch?v=TCPjk8Tpb5c


At my startup (https://polifinity.com) we do allmost everything manually first and only build when we have "proof" that an idea works.

Examples: - we do not have onboarding automation, instead a simple make.com trigger is send and then we do onboarding from a team member - we have not build all parts of the product, but instead use very simple manual processes to simulate a LOT of the more expensive features - only after feedback we actually invest development time - we have an intelligent reminder feature, that is done using a google sheet + make.com and manual mail; building the feature is not cost efficient anytime soon - the core of our product is about product strategy. Instead of building a complex interface in the app, we offer (free) workshops that are more effective, but absolutely do not scale at all...

In my past startups we sometimes did even more extreme "do things that don´t scale" stuff:

- giving you personalized recommendations generated within 30 min. from a human

- B2B matching from a web-page, where actually a mail was send and we generated the matches dynamically from different sources => this worked out AMAZINGLY well

- complex reporting from a huge database -> report was generated by a data scientist within 2-3 business days and then based on feedback the feature was never implemented, as every report was different and lots of time required data not actually in the database


' Do Things That Don't Scale' is a good approach when you have very few customers, but you have to start investing time in stopping it once you reach a large number.

What is manageable when you've got 5 employees and 1 customer isn't manageable when you've got 10 employees and 10 customers, because that support load is inevitably becoming more and more of each person's day.


At my last startup, our product required information that didn't exist in the digital world - the table of contents of hundreds of medical books. So I used to spend nights and weekends visiting local Barnes & Nobles and university bookstores pulling down books and manually typing out the table of contents with chapter titles, pages numbers, etc. Quite possibly the most boring job ever! Most bookstores didn't mind my presence, but I did get kicked out of one (thanks Harvard Medical School!). I tried to use OCR and other techniques and it just wasn't accurate enough (this was a decade ago so the tech wasn't quite as advanced as it is now). Eventually the company got big enough where I could have dedicated staff to handle the process, but for a long time it was how I spent my free time.


TL;DR: my co-founder and I hosted hundreds of 1-hour co-working sessions ourselves.

In the early days of what is now Flow Club, my co-founder and I had built several apps to try to help us stay in touch with busy 30+-year-old friends. It was tough to get any friends to even install the apps we made on Testflight, much less use them. They were busy with work or family (and the apps just weren't compelling enough).

We started asking friends to come work together on Zoom (during the pandemic) like we used to do at coffee shops. We wanted to add some structure to these, so we made them 1-hour co-working sprints with a screen-shared pomodoro clock and agenda (5 minutes to share goals, 50 minutes of working, 5 minutes to check in), sent out the Zoom links to friends, and then started pre-committing to times at the beginning of each week and sending that out to an email list. Within a month, we had hosted a couple hundred of these sessions between the two of us and couldn't keep up with the demand or requests for more times of day as it spread to friends of friends. When an early user who we didn't know IRL and then my partner each separately asked if they could also host sessions, we were blown away. We didn't think anyone else would want to volunteer to host. Then when we realized both of them were actually better "hosts" than we were, a lightbulb came on for us that we could stop doing the unscalable thing we had been doing and build for hosts.


At Enchant (https://enchant.com):

- We launched without billing. Early customers used the product for free until we eventually built out billing

- In the early days, the "mailing list" was just a loop that would send an email to signed up customers using our cloud email service provider.

- We manually verify all new accounts before they can do certain things. Abuse prevention.

- We offer data imports from competitors. It's a semi-automated process - sometimes there's existing working code, sometimes it needs tweaking, sometimes it gets written as part of the process. Either way, it's a win if it helps someone make a purchase decision.

- We manually reach out to customers when a feature they voted for is released. This is also a great opportunity to gather further feedback.


Some stories that I've heard personally:

- Tony Xu (DoorDash) figured out that many early users were moms, and he would go and knock on their doors to ask them why they would use the product, and where other moms would hang out so they could get more signups. All of the founders also took shifts to drive for the app so they had to use it themselves.

- Tom Preston-Werner (formerly GitHub) emailed tons of OSS maintainers, including John Resig of jQuery, to try and convince them to migrate over to GitHub. He admits that it wasn't a great strategy though - project maintainers have to convince themselves to switch VCS systems.

- Jessica Mah (formerly inDinero) became a CPA in order to do accounting services for her startup. She would talk to customers and make sales during the day, and study for the certification at night.

- Ricky Yean (formerly Crowdbooster) struck a deal with an early customer/cafe owner to get paid in food, so they worked from the cafe all the time. They ended up building the cafe owner custom dashboards which later become their product.

- Nikki Durkin (formerly 99dresses) spent $10,000 at a time on Nordstrom, listed the clothes on her clothing marketplace, and then returned anything that wasn't sold or traded to users within the 30-day return window.

- Jake Jolis (formerly Verbling) would act as an English speaker trying to learn other languages at all hours of the night in order to improve the matchmaking on his language learning app. Most people were their to learn English rather than the other way around.

- Rujul Zaparde (formerly FlightCar) stood in front of a major airport parking lot for nearly 12 hours with a sign that said "ask us about free airport parking". He had the cops called on him three times that day.

- James Richards (formerly Teleborder) paid people from Craigslist $20 to sit and use their app in front of them. It led to a lot of valuable feedback, and they ended up hiring many of them later on.

- Walker Williams (formerly Teespring) drove an hour and a half to Petaluma in order to pack and ship bobbleheads for a long-term client that wanted to sell something other than t-shirts, despite the fact that the company... only sold t-shirts.

A while back I had this same question - and I ended up writing a book on it: https://www.amazon.com/Unscalable-Charlie-Guo-ebook/dp/B019E...

There's a bunch more in the book - I was lucky enough to also talk to the founders of Codecademy, General Assembly, and Zenefits. But those were some of the ones that I still remember pretty well.


I love this. Ordered!


Imagine each task you might possibly do for a customer (the responses to your post suggest many). At some point, 0% of the task is automated. You can do it for customers 100% manually.

If you do this for all of the tasks people will pay you to do, you can get a sense of "which ones are slow, time sensitive, easy to automate, or frequent"

Once you have that, you can now prioritize work that will make those tasks more efficient. If you just thought about tasks in a vacuum, you wouldn't have any empirical data that tells you what is worth doing. By doing things that don't scale - by doing things completely manually - you've also figured out a roadmap for the next few days/weeks.


In B2B, don't build user preferences UI. Configure things for your user directly in the DB.


DB? More like a JSON file. If you wanna get fancy make it a remote file so the server doesn't need to be restarted.


JSON file? More like hard coded conditionals in the code.


Code? I hand-craft every HTTP response myself


Cute. I personally deliver IP packets directly to the customers' front router.


While you're doing that like a remote corporate asshole, I'm in the room speed sketching screen refreshes for them so they don't need to even waste power on running a computer.


I walk to each customer site and use telnet for the HTTP requests.


JSON documents can easily live in the DB ;)


You're not looking at it right. The JSON document is your DB. Wanna add another client config? Your client manager makes a PR with the changes and your CI deploys it with the server binary. Easy peasy no-code solution.


If you have CI, that's still over-engineered for a pre-mvp product.

Just kidding... partially


I think CI is actually one that you should do when you write your first few lines of code. GitHub actions is free, comes with one click templates, so use it.


You should have an internal UI around it. This should take all of a couple minutes... if this takes longer than that then you have other problems and adding any features at all is probably taking forever.


not having a preferences UI isn't just about the time to build the UI, it's about control, QA, and feedback. If your customer has to communicate with you to get a feature enabled, it gives you a chance to talk to your customer and get a sense of what they need the feature for, if it will work for their use case or the data they're working with, or if there's better features to offer them instead to solve their problem. it avoids the issue where customers randomly click buttons to see what happens, and then get disappointed when the thing they imagined might happen isn't what actually happens. And it makes them feel special because you've turned something on just for them.

by all means, build a UI. but click the checkboxes yourself.


Yes - it should be an internal thing for people on the front line, because you're likely going to be turning on features and stuff.


A simple graphical DB client is often a perfectly fine UI. Everything depends on the details, of course.

If this saves a month of defining and building a bunch of admin preference screens, letting you focus your one developer on things that matter, that can mean everything for a small startup.


what??? a month??? for an internal preferences/flags UI? See, this is what I mean. You've already failed. You cannot execute.

Also now you're gonna make customer support folks edit the DB?

- With Django, this is generated for you. It's literally free.

- With DotNet Core, also can be generated.

- Pretty sure Spring MVC has something similar.

- With Rails - can also be generated, or built very quickly with Hotwire.

- With React, this takes a couple minutes. Just have a generic "flags" list you can toggle etc. There are like a million form generation libraries.

At the end of the day if it takes you a week to get a UI with a list of buttons and checkboxes out, you need to rethink the technologies and process you're using if you're trying to move fast. You should probably do away with the process, too, for this early of an organization.


> Also now you're gonna make customer support folks edit the DB?

The founders aren't regular customer support folks.


Yeah probably. If it's just one guy then... maybe. Personally I found putting 5mins into a little UI with text inputs useful when a customer in another timezone reaches out at 11pm and I just have my phone - can get that five star review by just making the adjustment right then.


For Spring I find https://bootify.io does a great job of generating DB, models, CRUD frontend+backend. Not open source but the basic variant is free (and I mean really free to use, no registration, just use it) and the code generated is reasonable for further development.


I like your vibe. Execution > Idea.

It's def true for so many startups that they are really really slow in execution.

You need to find developes that execute and not talk about 2 hours in a retrospective about clean code.


Andrej Karpathy manually classifying ImageNet. https://karpathy.github.io/2014/09/02/what-i-learned-from-co...

Manually doing the task yourself is a tremendously helpful exercise anytime you are doing machine learning, and often overlooked. It is hard work, especially since to do it right you'll often have to build custom labeling tools before you can even start. But you will discover all sorts of issues and come up with much better ideas for improving the system.


Hah, I didn't know Silicon Valley's "hot dog, not hot dog" app had IRL roots!


Build on modular frameworks to localize accountability, automate edge-case testing to save time later, and automate deployment as needed.

Poor design planning casts a long shadow, it is a relatively interesting career cleaning up defunct projects in addition to training staff you don't fire for being malicious and or stupid. Sometimes one can't fire problems or fix a poorly thought out design within the resource budgets... at that point one walks away if they are smart.

Sometimes companies survive arsed IT, but many do not... For example, a 73% LLM written article wouldn't necessarily get you fired, but likely a 73% pay cut due to sub-optimal market utilization.

Remember to have fun, =)


I'm working on my first startup building a technical product (no customers yet - still developing). No idea if I'm doing this right, so let me know what you think.

I'm building a bunch of templates based on my own professional experience as well as from talking to experts and random business owners who could be potential pilot customers.

This helps me get both product validation and research gaps. Hopefully when I do start reaching out to my pilot customers things will be set up for them on day one. I have a few who are interested and if they decide not to use it I can at least go after others in the same sectors and set them up easily.


There was an online car sales startup years ago where they put up the web page and ordering stuff before getting any buying or delivery stuff in place. When they got their first order, the boss said "well, go buy the car!"


The DoorDash founders started out by delivering all of the food orders themselves


Counter examples might be useful. Many startups implode under the weight/pressure of doing the wrong things that don't scale.

It should lead to growth/revenue/whatever your north star is.


I wrote about how we did it at Intercom here: https://www.intercom.com/blog/how-intercom-got-our-first-cus...

In short it was a combination of individual customer outreach our CTO jumped on Skype (yes Skype) to help with installing, I did handholding through onboarding, I ran "webinars" to like 4 people, or less. Everything was just tiny tiny steps.


When I founded my bootstrapped startup, I would go as far as opening PR's within the customer's codebase to integrate our dev tool on their behalf.

But most common one is probably pricing. Start out with cheap (or free) pricing to capture early adopters, even if it's not economical long-term. If/when you gain traction and momentum, gradually increase prices until the unit economics make sense.


One problem with cheap or free is that when you are trying to validate your product, a user paying you good money is far more validation that a free user.


We are manually building decks for things that new users are requesting during our new user interviews for our flashcard app www.munkle.it


While building physical simulation workflows, the input for calculation steps was intentionally not autogenerated from some config file but retained a template that require users to check. This way, it is easier for scientists to have a good idea so that they know they are doing the "right" calculations.


In the early stages of product dev I tend to do direct customer interaction (user research, customer troubleshooting, frontline support), instead of farming it out to junior team members the way I do with more mature products. This gives me a deeper sense of what users think about our product.


ProtonDB started with a lunchtime reddit post and a public Google Sheets link I seeded with three of my own tests. Came back from work with a thousand rows in it. In a few weeks I built a frontend around it. The 30k row data migration was brutal but in hindsight was absolutely worth it. AMA.


Someone may have said it, but the DoorDash guys acted as their first drivers until they couldn't anymore


I was in an online fashion market place company that wanted to test 60-minute delivery in the same city.

We bought a few bikes and had employees ride out to customers, just to check if there was an actual demand. Turned out there was not and the idea was dropped with a low investment.


If you read the other essays he also says you do things manually as the founder first to learn the specifics that matter but then you scale it (typically by hiring someone, or via code) when you have learned very well how it should scale.


I’m manually importing stock portfolio holdings for users in https://jch.app so they can export from their brokerage without conforming to a specific format.


At my company we were B2B2C so a lot of features had to be built for the B2B side and also the B2C side.

B2B side asked for an analytics dashboard, we manually sent them Retool apps segmented with their data hardcoding ids in the query.


Dropbox didn’t have horizontal scaling and ran off one database for a long time.


Reminds me of how Notion ran on a single database for a very very long time, and everything started breaking.


running everything on 1 db is way underrated


as is: provision isolated resources for each customer


I think they figured it out!


There's a pretty good book dedicated to this exact question: https://unscalablebook.com/


Don't put in a database what will work in an Excel spreadsheet.


I manually signup users. They leave their email on the website, I then go and create user in Auth0 and send them invitation.

Planning to change this flow now before going public.


At Monzo we stuffed cards into envelopes by hand, printed mailing labels on thermal printers using slapped-together Python scripts, and filled up mailboxes in the local area every night. We kept doing it pretty much like this until we were sending out several thousand cards per day.

https://monzo.com/blog/2017/06/09/journey-of-a-card/


This sounds entirely scalable?


I had understood it more as an abstract lesson than an instruction. ie avoid a mindset of everything must scale or we don’t do it.


basically you can do manually everything that could be automated, and should be automated if high volume.

- Manually send user welcome email, trial expiration email, etc...

- Manually fix some errors although the process could be automated.

- Manually cleanup logs, db tables, etc...

- Manually check every service, db, website, etc... is up


I honestly feel like this advise was applicable 10 years ago when it was written. Especially int he age of AI, but it's really going to depend on the business you're in, if you're business is automated business intelligence, vs mail order bbq sauce or something.

Not to mention the greater number of tools opensource and paid available to automate most of the stuff that would take a dev a little longer to do.

But also from a technical standpoint, if it's a 1 or 2 time task, and it's quicker to do manually, don't bother automating it.


I debugged our ML container and wrote yamls for initial version of demo

Also met customers and talked to them one by one travelling across the country, each time having a detailed game plan for what we wanted to learn and what we wanted to get back from the customer


We used Google Sheets as our primary DB for a long time: https://www.levels.fyi/blog/scaling-to-millions-with-google-...

We still use it for some off cases but have Postgres now.


to me its marketing, sales, and support. things that i avoid learning and doing when thinking that "if i build the product the users will come".


Is that not the biggest problems for software developers? Believing that users come if they have the right product?

You need feedback to create the product and you get feedback by having customers - so go out and sell your product

(Its prop not right for all cases but in general )


For my next project I prefer:

1. Create MVP (0-100hrs work max) without talking to customers (too much) avoids paralysis. Avoids mum-test type issues too. Have some basis that it is a good idea (e.g. competitors, solving your own pain, a pain you see mentioned alot online)

2. Get MVP in front of people then talk to users.

3. Iterate based on that information: talking to people who are taking time to use your service.

It is a nice filter to talk to people who use your service (proof of work!) vs. just interviewing a bunch of people who look like they might be in your persona.


Manually curating content by hand instead of using algos


Isn't it "pg"? (PG is PostgreSQL).


Starlink customer service.


Totally agree with the “do things that don’t scale mindset”!


Didn't know a database could write essays.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: