July 4th, 2024

The saddest "Just Ship It" story ever (2020)

A developer shares a cautionary tale about the importance of releasing imperfect products promptly. Delaying a project led to missed opportunities, contrasting with a competitor's successful approach of shipping and updating continuously.

Read original articleLink Icon
The saddest "Just Ship It" story ever (2020)

The article narrates a personal experience of a developer struggling with the concept of "Just Ship It," emphasizing the importance of releasing a product despite imperfections. The author recounts a journey of developing an app over two years, constantly adding features and delaying the release. Eventually, upon discovering a competitor who had solved the same problem more efficiently, the author realized the consequences of not shipping on time. Despite the competitor's app being imperfect, the act of shipping and continuous updates garnered a loyal user base, contrasting with the author's stagnant project. The article concludes with a reflection on the missed opportunity and a call to action for others to avoid the same mistake by embracing the "Just Ship It" mentality. The author's emotional rollercoaster of feelings, from frustration to acceptance, serves as a cautionary tale for aspiring developers.

Link Icon 38 comments
By @Culonavirus - 3 months
There's massive caveat with all of these "and then the story ends because we didn't just ship it :(" stories: sometimes the value of the "app" you're working on is in the technical details that cannot really be "hastened" and you can't "just ship it".

Also, and this is something a lot of the managerial class people don't want to hear:

Your job as a sw engineer/architect is to resist the "just ship it" pressure from the management as much as possible. So unless you own what you're coding and you really need it out of the door for your own benefit, if more time makes your work more professional, then take more time. Anyone telling you otherwise is a 100% hack. You are not an automaton that takes in JIRA tickets and spits out hacky code as soon as possible. Or at least you shouldn't be. Not to mention that not taking time (doing things properly) is incredibly taxing on your psyche and you WILL burn out. There are only so much garbage tasks you can take.

It's worth repeating: Unless you have a stake in the company, it is NOT your job to make sure the company is the most profitable it can be. Your job is to create great software. What's great software? The kind you'd be willing to put on your resume without feeling bad. This is the thing that will ultimately make you feel good about the work you're doing. Hitting that arbitrary deadline for a 1425474th time may feel like a relief but it's short term and a form of negative motivation - and in the workplace, those NEVER work over a long period of time. So RESIST that pressure from the top and do your work properly. If they fire you, then who cares, the only way up these days is job hopping anyways.

By @ggeorgovassilis - 3 months
> so I started getting suspicious if someone actually shared the video of my app with these people because they were solving literally the same problem

I once met a guy who had a good idea about an app, something that became fairly mainstream two years later. He asked me to code the app for free and we'd share revenues. When asked what his contribution would be, he offered to "run" the company and otherwise his 50% was "having the idea". I thanked him and told him that he has a head-start of 6 months, if his app hasn't hit the market by then, I'd write the thing myself.

By @solatic - 3 months
I wish someone would solve my problem for me. I'm working on the problem because there are no solutions that I can just go and buy. Someone else putting their blood, sweat, and tears into solving my problem, they're the ones who have to deal with being on-call for it, they're the ones who have to maintain it, would be a joy.

Why is it so important for you to be the one to solve this problem? Why is it so important for your solution to the problem to be a business? Running a business is about creating value for yourself and for your customer - if you're obsessed about the problem, be thankful that someone else is putting so much effort into solving it; if you're obsessed about the customer, then you would've shipped something to the customer a long time ago to get feedback.

By @thekitze - 3 months
Author here! I need to update this article. Years later, I actually got motivated by the comments on HN (whenever this gets posted). P

People are always like "why don't you just ship your app?" ... so I did!

I'm happy I went through with and it's way WAY better than any competitor in this category

Check it out at https://benji.so (landing page is still w.i.p)

By @edg5000 - 3 months
I found that becoming an actual user of your own system changes the perspective entirely. I had this thing that I was making for myself, and it was not ready, not usable at all, or so I thought.

After giving up on the project I decided to try and actually started using it as if I was a user. I realised that as users, we are used to countless minor issues, and we automatically find ways around that. When you are the creator of something, you sometimes forget that a lot of sloppyness will not be a dealbreaker, and the user will effortlessly work around many of the shortcomings. Obtaining perfection is more about ego at that point.

So trying to actually use it, ignoring that you are the one who made it, and forbidding yourself to make any modifications for a while, can change everything!

By @torlok - 3 months
Not the best example of "just ship it". The thing about these productivity apps (TODO, habit tracking, spending tracking, journaling, workout planning etc.) is that lots of people have these ideas independently. You can't imagine how clever I felt when I thought of the idea of an app that helps you keep track of your expenses. Then I checked the Play Store. KRAZAM even made fun of it the "The Hustle" video 5 years ago.
By @raincole - 3 months
Perhaps it's just me, but I can't stand the "I'm trying so hard to be funny" writing style.
By @purple-leafy - 3 months
Okay I gave up reading because it’s written by a man-baby. So cringe.

So you made a proof of concept and rested on your laurels. Too bad, that’s life. They did the work and reaped the rewards.

Lesson learnt. You can’t claim ideas

By @jascha_eng - 3 months
I wholeheartedly agree with this, when I started working on Kviklet we were a team of 3 and one of us was a lot more perfectionist than the others. It took a lot of convincing to even put our (tbf shitty) first website version up. Much more to release our repo. We lost that "co-founder" early on, but man I'm glad we released early and tried to sell.

It didn't work and we found no buyers but imagine we still were working on a product without knowing if anyone would ever want to pay for it, keeping our hopes up in the dark.

By now we went with the backup plan and open sourced and have a few cool users. Could maybe even say it's a small community: https://github.com/kviklet/kviklet

It's not the startup success story that I hoped for a year ago. But it's a lot better than still hoping for it and not being a bit more grounded. Also open-source doesn't mean I can never sell support or a premium version and still make a few bucks right? For now it's just a fun side project though.

By @dspillett - 3 months
If I was writing something for myself, I'd not be sad that someone had beat me to it: it just proves that the idea was a good one!

Then again, none of the many personal projects I've got in my head and on paper (few of them even actually started) are ones that I would release to sell. They are things that I want or that friends/family/other might find useful. Heck, if I had something Alpha quality maybe I'd release that in the hopes someone would see it and think “this idea is useful, but the implementation is shite, I'll write a better one”.

By @lukan - 3 months
On the other hand, there is no second try, to make a first impression. And the first impression lasts a while. So at least get some feedback before "just shipping". Otherwise reactions might be "doesn't work" - because what was obviously a start button for you making it, was not so obvious for someone just stumbling over it.
By @rawbert - 3 months
When I read this I was like "Oh, that sounds like my family calendar / collaborative productivty app I am working on for months ". And in the last sentence he mentions

> I wanted an app that combines Todos, Habits, Planner, Goals, Pomodoros, Meal tracking, Fasting, Hydration, Packing, Trips, and many many more features.

Surprised Pikachu face.

By @adastra22 - 3 months
Why not ship now? Well not now in 2024, but when this article was written?

Most apps and services you use were not first to market.

By @RevEng - 3 months
What was your purpose in developing this app? It sounds like you were trying to solve a problem you had for which there were no other good solutions. If this was the primary purpose, then it's only meant for you and not for anyone else, so why "ship it"? For personal use, shipping it simply means using it.

If you want to produce a product to sell, then yes, for the most part you want to ship as soon as you have a minimum viable product - something that at least accomplishes something valuable, even if it could be better.

But if you're working on something for fun and you consider open sourcing it, don't rush into shipping it. As soon as you release it to the public, people will start hounding you to fix bugs and add features. If you try to please them, you'll quickly find yourself working a part time job for no pay - your hobby will turn into a burden.

Releasing anything to the public - whether for profit or not - opens you up to a lot of pressure and judgement. You are making a commitment, whether you intend to or not.

Before shipping it, think carefully about whether you want to commit to supporting it. If not, then just keep it to yourself.

Giving up on a project - even one that works - isn't a bad thing. People change. Just because you wanted to work on it 6 months ago doesn't mean you want to do it now. Don't feel obligated to keep doing something you no longer enjoy. Often the important thing is that you went through the process - you learned a lot and you overcame a challenge. You can leave it at that and still be a success.

By @xlinux - 3 months
The real problem I face is finding users. you are not allowed to post your app anywhere (excluding hn).

It's called advertising or spam they say

By @999900000999 - 3 months
Depends on your target audience.

I have a side project that's just an internal tool for my music visualizer/ lyric video generator.

It has no functional sign up for new users and is very difficult to use. It's "shipped" as in I use it for my projects.

Another is a simple web app a friend requested. He uses it occasionally. I'm sure y'all on HN could probably find half a dozen issues with it. But it's what my friend wanted and I learned a lot.

The moral of the story is use Flutter from the start, don't worry about shipping apps( do you really want to struggle with the various app stores for what's just a web app anyway), and ship early and often.

By @theideaofcoffee - 3 months
I feel this deep in my bones. I worked on <some project> a long while back because I wanted to scratch an itch, and I thought that some of the problems I was seeing, hey, maybe someone else was having them too. So I start kinda-sorta-half-heartedly exploring the idea, writing some pilot code, then I discovered hacker news. And oh boy did people have things to say about the general problem, it's impossible to solve, no one should waste their time, we can just <do the drop box thing and wire up ninety five things and make it shamble along>, definitely no need to waste time trying to implement something new from scratch.

Then I dropped it, because, hey, the glitterati of hacker news and all of the others must be right, huh? I let it wither, while working on other things, working for other people, making them wealthier, while all in the back of my mind I keep thinking: "maybe I should keep working on it."

Services doing the same exact thing started popping up. They get traction. Users are mostly happy with what they were doing, but they didn't have half of the features that I had already implemented in the code that hadn't seen any use outside of my testing environment. Some take off so well they have a now-publicly traded company doing the same thing. Ten years after I started my little project.

Fuck.

Lesson learned. The naivete of youth is a harsh teacher. Work on it. Put more effort into it. Ship it. Go with your gut--you probably have a better sense than you think you do of what will work and what won't. Ignore the hivemind. Don't leave room for the regret you will inevitably feel when you're scooped.

By @andrewstuart - 3 months
I've got three separate applications all "close to finished" and I've been working on them for years (along with many other things).

Just as I'm getting real close to being finished enough to release - something changes - life changes - or some other thing changes - or I don't believe in the product any more - then I do believe in the product again - then blah blah blah. Always "legitimate" reasons - outcome always the same - haven't shipped anything in years except a bunch of open source projects.

By @schobi - 3 months
It sucks to realize that someone else beat you to a proper release. Happened in my last job, we went though the stages of grief just as the author here.

In the end you learned a lot about new technology, about your pace of development, about you thinking, about aspects you like and don't like. The lessons learned "ship it" prepares for next time.

By @StopHammoTime - 3 months
It's unfair he didn't include the name of the app in the article (or it's unfair that I can't see properly, if he did). I want to see what this problem was he was trying to solve!
By @spacecadet - 3 months
"If you have an idea, statistically 1500 other people are also having that same idea" Execution trumps ideas. It also does not need to be fast! I have seen it go all ways at this point, and I still stand by another stupid quote, "slow and steady wins the race". The real problem lies in whether you mature your idea into something with long term value. If you ask me, fast ideas, fast execution = garbage in, garbage out.
By @firefoxd - 3 months
I started mine in 2017, after I left the start up i co-founded. 2 months later, the app was. I still haven't posted a show hn.

In fact, after 2 years, someone approached me saying he is building the exact same product, but in Germany. We had several zoom calls. He shipped it, failed and iterated. I'm just watching him and hoping someday I get some time to actually do something with mine.

By @aorloff - 3 months
Shipping code is a whole separate product from your product

Its your first devops product, and how well you do that is going to affect your actual product

By @tdeck - 3 months
A few years ago I built a payment system for Google Forms as a side business (made about $3k from it before eventually turning it off to focus on other things). I'd found a problem nobody was actually solving and wanted to see if they'd be willing to pay to solve it. Like many of us I also had a bunch of partly finished projects that were never released, so I knew it could be a struggle to ship things.

What I ended up doing was writing a list of all the features that I wasn't going to work on, and all the compromises I was going to make to get something out there. Some of those compromises really hurt when I was writing them down, but didn't end up mattering enough to change them for over a year. Once I had them on the list, it gave me permission not to thing about them while I implemented the rest.

I also staged the development to avoid anything unnecessary if it flopped. For revenue, the idea was that I'd get a card on file from you, then bill it each month. But I launched the thing with no integration at all for the card on file. My plan was to give people a 14 day free trial, and if anyone actually used it in that time I'd use the time to build a card acceptance flow using Square (their API is like Stripe's). It turns out people did find and use it, and I had to extend the trial a bit, but eventually built the form. Then I had until the first of the next month to build the system to total up their bill (based on usage) and charge the card on file using the rest of Square's API.

I also didn't build anything at all for scheduling account lifecycle events. I used varmail.me (a little thing I wrote forever ago) to have my app email me when someone signed up, and check my inbox a couple times daily and send a canned welcome message to any new users. Then I'd write an email reminding me user X's trial expired, set myself as the recipient, and use Gmail scheduled messages to schedule it 14 days in the future. When I got that email I'd check if they're still using the product, send them a reminder to put in their card on file, and manually mark their account as inactive until they enter a form of payment. Billing jobs were run manually by me on my laptop for a while. Over time I got more users and it was worth the effort to replace these manual processes with automated ones. If nobody had used my product, it wouldn't have been worth the effort to automate any of this.

Testing was another thing I experimented with doing differently. At first I tested everything manually. Automating tests was difficult anyway because the key flow redirects through PayPal, and there were parts written in Google Apps Script. Eventually I built an end-to-end selenium test. Then I started adding unit tests where appropriate. Basically my principle was that I added automated tests to any area where I felt uneasy about making changes for fear of breaking something. Since I'm fairly risk-averse, the product was small, and I worked on it solo, this worked well for me.

By @protocolture - 3 months
I have a loose product idea. I guess the difference between some ideas and others is in prototyping. My prototype works. The issue is that the market for the product is like maybe 600 people global. And its not just code thats required, but plastic injection moulding, hardware manufacturing etc.
By @thecleaner - 3 months
But what's the problem that is being solved with a productivity app ? I actually use a spreadsheet program for this and it does a better job than most apps. I don't it matters what "the vision" is really.
By @SergeAx - 3 months
What do I feel like I just read an advertisement article for a productivity app?
By @langsoul-com - 3 months
Isn't this more a lesson of keeping your cards close to your chest?

There's a very good reason why people are on guard with pitch decks. Cause those very people you pitched could just take the idea and throw money at it.

By @pacifika - 3 months
There’s usually room for more than one implementation of an idea, most of the target audience haven’t committed yet?
By @DidYaWipe - 3 months
I'm expecting to experience this any day now. I've experienced it before, seeing people make hundreds of millions of dollars on an idea I'd already built (and my employer had fumbled the marketing of) and was actively working to resurrect... but couldn't figure out how to "monetize."

Currently my problem is being a one-man band. I've realized I can't "just ship" a product that relies on a hand-rolled user-authorization scheme that I create with very little experience. So now I've interrupted my whole project to learn Supabase and oh yeah, containers... because I've never used those either and as far as I can tell I'd better use those for deployment and scalability.

And oh yeah, I had to learn SwiftUI (already knew Swift & iOS pretty well) to write the app... and also JavaScript/TypeScript and Deno for the back end. So now I'm entering year two and still trying to vacuum up knowledge fast enough to get this thing out the door before someone else announces it.

I've been thinking that I'd have to hire someone to consult on security and scaling as I finish up actual functionality. But the days go by...

By @neontomo - 3 months
an added benefit of shipping early is you get a feeling for whether people are interested, before you spend a year developing a toaster that eats its own toast.
By @victorstanciu - 3 months
> Even though they were working on it for the past few years it's still slow, buggy, and super unpolished, it doesn't matter, because they shipped.

> Their mobile app is terrible and it needs 10 seconds to sync. It doesn't matter, they shipped. And I'm looking forward to every single update they release.

> Their backlog of things to do is huge, but it doesn't matter, they ship every single week, and the app is growing along with the community.

Sigh. I agree, and I can empathize, but as a user I am so sick and tired of half-finished crap being shoved out the door just to beat the competition to the starting line. Every day the software we use becomes slower, more bloated, and less stable, and part of it is exactly this attitude of throwing crap at the wall and hoping it sticks. And the sad part is, since everyone is doing it, you can't really not do it, otherwise--as the author discovered--you get left in the dust.

By @omerhac - 3 months
Hahaha, laughed my ass off.

Can you name the largest factor to why you did not ship it? Is it fear? shyness? Thinking that you only have 1 chance with your clients?

By @rob74 - 3 months
So, he's a fan (and paying subscriber) of his "competitor" app now, but still not enough of a fan to actually mention what app it is. Which is kind of frustrating, I read until the end of the post to see if it's mentioned, but it isn't. And it also leaves me with a nagging suspicion that the whole story may just be completely made up (or at least grossly exaggerated)...
By @luna4151 - 3 months
In order to be able to spy on someone’s phone entirely having access to their WhatsApp and seeing every incoming/outgoing calls and messages, I will recommend the service of professional hacker ( : ( TECHSPYMAX AT GM A1L C O M ) to successfully help you spy on the target’s phone just like he did for me when I was so desperate to look into my cheating spouse’s phone to find the truth. I was lucky to come across them and they got me full access to my spouse’s phone without her knowing and I was able to monitor the phone remotely, I saw all the text messages, WhatsApp messages, social media accounts including pictures and her locations. They are legit and reliable. Relay all your problems to them and you will be assisted good. You can reach them via the MA I L provided contact information above;