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.
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.
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).
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 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.
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 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?
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!
"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)”.
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.
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.
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.
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.
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.
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'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.
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 :)
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.
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.
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”
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.
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.
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
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
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.
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.
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.
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.
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.
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.
- 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.
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.)
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.
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.
"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.
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.
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.
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.
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.
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?"
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.
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.
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.
> 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 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.
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.
"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.
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)!
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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!
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.
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.
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.
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.
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... )
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.
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.
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. :-)
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.
- 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.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!"
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.
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.
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 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.
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
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.
- 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