Hacker News new | past | comments | ask | show | jobs | submit login
I sold my side-project for $30k (marc.io)
252 points by marckohlbrugge 9 months ago | hide | past | favorite | 100 comments

I figured some of you might enjoy this story. I talk about how my Medium post on setting up Zapier to tweet your Instagram photos, lead to a SaaS product that recently got acquired for $30,000 (with one asterisk, details in the post).

It's not a life-changing amount of money, but I think it's a more typical example of what you can expect when selling a bootstrapped side project. Hopefully it will inspire some of you who have been on the fence to start your own project.

I always enjoy seeing honest write ups like this one. They're rather difficult to find, unlike the "entrepreneur porn" that usually gets shared.

It's really great. I appreciated that you gave equal weight to ups and downs, and the pros and cons of each decision, while still keeping your explanations clear and focused. Informative and enjoyable.

Congratulations on your successful project!

Thank you for the great write up - I have only one question - how did you get featured on BetaList and Product Hunt?

Did you email them directly or did you pay someone to make a press release? I have had similar products but I never seem to know how to get the word out. Any insight into your first day and how you marketed it would be highly appreciated. Thank you and keep it up!

As @donaltroddyn points out, I'm the founder of BetaList. With regards to Product Hunt, I think my account is flagged such that anything I submit automatically hits the front page.

So yeah, those are definitely two unfair advantages that are hard to replicate.

I guess the underlying two lessons are:

1) build and own your own acquisition channels if you can (I initially built BetaList to promote my other startup at the time), and

2) leverage whatever advantages you have. For me that happens to be the fact that I can quite easily get some initial traffic, but if you're a great writer you could use that. If you have a great personality you could invite yourself to podcasts, if you have a certain technical skill perhaps you build what nobody else can.

FWIW, I don't think it's worth paying people to write a press release. If you're an indie maker it's much more compelling for a journalist to hear from the founder directly. Just make sure you have a story worth sharing with their audience. (in a way your "pitch" is just as much a product as your product itself. But in case of the pitch you're trying to convince a journalist you have an interesting story to tell their audience wants to hear).

Thank you for your informative reply I am currently walking but will take heed of your advice when I’m at home. All the best .

The OP is the founder of BetaList.

Congratulations on your success! Your story is inspiring for other “solopreneurs” out there.

A bit off-topic: what was the motivation behind you building WIP.chat ? I don’t see an about page on mobile.

To me at least, WIP looks like a cross between a todolist, Twitter and Product Hunt but targeted at indie hackers, no?

I'm a firm believer that you're the average of the people you spend the most time with, so I love to be around other productive makers.

And while you can find many chat communities, they always seem like more of a distraction than something that really motivates me to do by best work.

So I created WIP[1]. Initially it was just a Telegram group chat, but with the added twist of being able to share what task you were working on. This oriented the discussion around the actual work people were doing, rather than just chit-chat.

Over time this evolved into more of a platform with a website, Desktop apps, etc. But the core remains the same: an online community of makers/bootstrappers/solopreneurs working in public.

[1] https://wip.chat

Unless it was an LLC that got sold, all contracts are now gone, as they were between the users and you, right? How much churn was there while setting up new contracts?

Did any customers reject the transfer of their data under GDPR?

> The first $10,000 is cash upfront with no strings attached.

> The remaining $20,000 is contingent on Tweet Photo making that much (or more) in revenue within 24 months of the acquisition.

So it's sold for $10k, and a max €20k revenueshare on a service that currently does 1620/year

That's correct, but it's important to point out the acquirer has an existing app with a user base in the millions it will use to cross-promote Tweet Photo.

Based on some initial tests and analysis of Tweet Photo's current funnel, that $20,000 goal seems more than plausible.

But you're right in that it's definitely not certain and this type of deal has some inherent risk.

Have you done something like that before? Did you spend a chunk of your $10k on solicitor/lawyer to arrange it?

Not necessarily saying you should have done, just think personally I'd be shy of anything more complicated than 'here give me cash and take this, kthxbye'.

I built and sold my side project for 60% more... Write up here... https://joelx.com/how-i-built-sold-my-dropshipping-biz-for-1...

> just think personally I'd be shy of anything more complicated than 'here give me cash and take this

You won't find any acquisition more than maybe $5k that is "Here's the cash, thanks and bye."

Eh I think many companies will go an order of magnitude higher than that before they start viewing it as "real money".

It's still a good experience to sell something, and go through the process. Congrats!

I agree, I sold a small Saas and it was a lot of work getting everything in place. It heavily affected my future work and the way I set up the business. Even small things like using a password manager is super helpful when trying to hand over a business.

Yeah, it's a big difference. I hope it's just for views and not that the author sees it that way. Money that's not in your hands isn't yours and may never be yours.

As a user of this service:

You built a service, I started to use it, I was happy to pay for it. Now you sold all the data your business had about me and the service, so I need to check the new EULA etc, and need to reevaluate if I want to use this service futher along the way.

Also my experience with apps/services/etc sold by their original creator(s), that they are shuting down in a year or two and I'm so tired of this trend.

So yeah, happy about your success, unhappy about another service which probably goes down the drain and I need to find something else to use, which probably not really has the same featureset.


My point is, I would have been using this service and paying for it in the next few years, without the need of new features or so, so you only need to do maintenance of the infrastructure and keeping up with the security updates for mostly passive income. Probably this is the same for other users of the service. I think this should be considered, when you thinking about selling your passive income sideproject.

Those are definitely some fair points.

While I appreciate you being a paying customer, unfortunately you're in minority. When Facebook changed their API earlier this year and forced me to rewrite a part of the codebase I seriously considered just closing down the site. The service generates $140 in monthly revenue which is nothing compared to my other products. So my time is best spent elsewhere.

So when the buyer approached it wasn't just a way for me to cash out on the business (and make more money than if I just kept it in maintenance mode), but also a way to increase the chance of Tweet Photo sticking around long-term.

The new owner has both the resources and incentive to keep Tweet Photo running. As they are financially invested, plus they have a large userbase they plan on cross-promoting it to. Which means Tweet Photo will start generating more revenue, becomes more valuable, and in the end will have more reasons to be maintained and developed.

With regards to the EULA: Tweet Photo is a bit of an outlier in that it has to adhere to both Twitter's and Facebook's terms of service, so there's some protection in that. If the new owner were to violate those terms the whole service could be closed down.

i think op is more worried about his data's privacy than whether the app complies with facebook's TOS.

Sure, but my point is that Tweet Photo's EULA is by definition restricted to what Twitter and Facebook terms allow.

Isn't the "data your business hand about me" cat already out of the bag if the business connected to Facebook and Instagram?

They're using Facebook's APIs...

while I feel your pain, in this particular case – a service connecting twitter and instagram, right?, you already gave in to facebook. How much worse could you be sold anyway, than what you did already?

So there's 2 global scale monopolies in the toolchain already and you're bothered the 3rd player might not be indie?

Sounds like you should stick to FLOSS then. Anything you buy as SaaS can be canned, sold on or just become crap.

FLOSS sadly does not solve my problem fully. I'm happy to pay for somebody to maintain the infrastructure and keep the service I'm using up to date on security issues.

However if the maintainer happen to stop maintaining the service, I could setup the infrastructure and maintain it by myself with some learning, but that would take up more time I need to earn the money I'm paying to somebody else, who already done the groundwork and has the knowledge about the service. Also the service is worth $5-10 per month, but does not have enough value to worth the hassle of setting up the whole self hosted infra behind it and maintain it by myself.

I'm not sure why, but people recommending FLOSS as a solution tends to forget about the additional cost to setup and maintain infrastructure and software and a simple build pipeline (even if it's just a bash script, rsyncing the code to a server) when mentioning you could self-host it if they shutdown the service.

This is the "slightly annoying not to have this service, but not annoying enough to bother to replicate it even if I could" situation for me.

Free software isn't about money, it's about freedom. You value the freedom enough to complain when it's trodden on, but not enough to do the work required to continue to be free.

Freedom has a price.

No. When you have to maintain the infrastructure you're a slave. Freedom is when I pay somebody to do it for me and move it elsewhere if I don't like it.

I'm also tired of the trend of recommending FOSS when somebody is looking for a service. For personal solutions it works only if you are valuing your time really low or if you are having a lot of fun playing with it.

Frankly, if you think setting up your own FOSS is often a good solution you haven't listened to your advice enough times. It works if you have a few things. But if you try to do it with everything you will just give up after a few years and 50 things set up this way, or you will spend considerate amount of time on maintenance (which is fine as long that's what you want to do with your life).

They were recommended FLOSS because they were histrionic about data ownership in a situation where the data was already out the door. It’s a way of presenting them with the fact that nothing reasonable can make them happy.

Well, a company/product with steady service that wasn't created to be quickly sold, e.g. Basecamp, would make them happy...

> Freedom is when I pay somebody to do it for me and move it elsewhere if I don't like it.

But you inherently have less control over the situation when you pick this option. Sure, it's convenient to pay someone else to manage the service, but you expose yourself to the acquisition situation that this user did. Also, moving to another provider isn't usually an easy thing to do, it's not like deciding to shop at Costco instead of Wal-mart today. Beyond the most trivial of services, you usually pay a fairly hefty technical migration cost to move to another provider. Most companies can't just wake up on a Monday and decide to switch from AWS to GCP or another cloud provider.

I guess "Freedom" can mean different things to different people, but when you're at the mercy of a vendor like this, you're inherently less free than you would be if you ran your own service because you can't control what they do.

Don’t you think it’s a little hyperbolic to compare the ownership of human beings to running some software on your computer?

I agree, but it seems most practical to reply using the same framework that parent is using.

Having someone or something else doing it

I am free to breathe, I have to physically do it though.

Some people have a machine to do it for them, they certainly aren't free -- https://www.theguardian.com/society/2020/may/26/last-iron-lu...

Sure, I sacrifice my freedom in the name of ease or expediency all the time - I'm not someone like Stallman, but I'm conscious of the tradeoff, and one of those is that services I use may well shut down, sell themselves, and indeed sell my data. That's part of the price of not being free.

If you want both, you could pay someone to manage a FOSS installation for you

> Freedom is when I pay somebody to do it for me and move it elsewhere if I don't like it.

This is exactly why you need the freedom of FLOSS. You can hire anyone to continue the development. You don't have to do it yourself.

>Freedom has a price.

Sure, and like everything else that has a price has to go through an cost benefit and an opportunity cost analysis.

Just because it "has a price" doesn't mean it's always worth it...

I'm sure you mean well but by assuming this combative stance (it's not just you, I think this ideological stance fairly represents most of the FOSS space) you're ensuring people who might have gotten on board will absolutely never get on board. There's having principles and there's having enough people skills to recognise you don't need to be rude about them, they can go together and FOSS deserves that they do.

Your solution to being unhappy about potential losing a useful service is just to never use the service in the first place? How is that productive? Just because someone is upset about a service potentially going away doesn't mean they regret ever having used it.

Similarly to anything you use that is FLOSS, which could have few devs and languish, teams with bizarro changes of direction, and so on.

You just get the assurance that in the off chance somebody (including you) cares enough to maintain it, has the time, and is competent, they have have the license to do so.

But that's not that big a deal, except if its a project with many diverse backers and large diverse community (e.g. something like MySQL or SQLite or even Webkit will survive and be forked if needed - something like the average 1-3 main dev project not so much).

This is a big ol thread but I think it is worth touching on software design.

If an app can be a desktop app written in say JS (Java c# or similar term back-compat language) and not need “infra”. Or if it can be a Unix until that does one thing well. Then that is more likely to be a thing that can be forked and untouched for years and just work.

Granted anything that interacts with web services may have bit rot. However solid principles may allow those parts of code to be surfaced out to plugins etc.

Anyway let’s put it this way. I use YNAB 4 desktop budgeting software. No longer supported, not even FOSS and I’m not worried I can run that thing for the rest of my life, with little hassle, as long as I can run the last version of Windows that supports it in a VM.

And even if it doesn't get sold/canned/broken, they can still change the EULA for any arbitrary reason.

I think this is a really interesting point, because I don't think FLOSS is quite the answer, either.

If you just want a dependable service that's going to stay around, and you're willing to pay for it, what do you do?

As you say, anything that is SaaS could be canned/sold/etc. Anything that's FLOSS won't be as much of a service as you wanted, presuming you wanted to pay money on an ongoing basis to have a problem solved in a convenient way.

> Now you sold all the data your business had about me and the service, so I need to check the new EULA etc, and need to reevaluate if I want to use this service futher along the way.

Maybe I'm just cynical, but I pretty much assume that any service I buy into will one day be acquired and the data transferred to someone else.

I understand this user's frustration, but how many times are we going to see acquisitions involving user data happen before we all come to the consensus that this is what people who monetize products do?

I think it's really naive in 2020 for someone to sign up for a tweet photo service like this to get upset that the product gets acquired and their data handed over. Let's be honest here, this service takes data from one massive aggregator of user data and posts it to another massive aggregator of user data. Are you really that concerned that someone other than Zuckerberg or Dorsey has your public instagram data now? It's not like either of those companies have glowing reputations around user privacy either.

Explore - expand - exploit

The cycle of (enterprise) life

Congratulations! I run the exact opposite service: Turning tweets into Instagram posts (https://pikaso.me)

It already supports Zapier but as soon as Instagram opens up its publishing API again, I will offer my own built-in automation features too.

That's awesome. I think I've seen it before and thinking to myself, hey that's Tweet Photo in reverse :)

If I could offer one piece of unsolicited advice, it's to build in that viral loop I did with "via tweet.photo". I think that alone 10x'd the user base and possibly the valuation as well.

P.S. I saw you're in Bali. Which part are you from? I've lived in Canggu/Ubud/Lovina for a while. Hope you and your family are staying safe in these trying times.

Thanks for the advice. I already have a Twitter bot (https://pikaso.me/twitter-bot) that people can mention and ask for a screenshot. It helps with the virality.

That's cool :) I've been living in Bali (Mengwi area) for almost three years now. Hope you are safe as well.

>The first $10,000 is cash upfront with no strings attached. The remaining $20,000 is contingent on Tweet Photo making that much (or more) in revenue within 24 months of the acquisition.

I'm not sure I'd call that $30k given the current revenue needs to grow more than 5x over the next 2 years to get the 20k (assuming the acquiring company even continues to monetize the project). Is that really the terms?

I went into more detail here: https://news.ycombinator.com/item?id=24340211

Marc has 26k followers on Twitter and owns https://wip.chat, https://betalist.com/ and a startup job board - all of which give him regular touchpoints (and trust!) with potential side project buyers.

You might be able to build an app like this in a weekend or a few weeks, but unless you have a similar capability / vehicle to market it, you're going to struggle to sell it for anything.

That's a fair point. Having an established network and reputation definitely goes a long way.

I wouldn't rule our selling a side project if you don't have the net work though. These days there are more and more platforms popping up to help you do that.

Some that come to mind:

https://microacquire.com https://www.flippa.com

> It got featured on BetaList and Product Hunt.

A little detail here is that BetaList just happens to be OP's other project.

Yes, perhaps I should point that out in the article.

Although to be honest it's not that hard to get featured on BetaList if you have a half-decent product :)

Nice score, but why do you think that guy wanted to buy it? Little revenue/userbase. Moreover, he or some contractor could have built the same product in a weekend.

Also, assuming you get your money in 24 months and using a discounting factor of 5% (which is either much too high or much too low), you are looking at a little over 28k, not 30k.

Why would someone want to buy tweet.photo? Time to market.

The product already had traction—actual users numbering in the thousands—and from the buyer’s perspective, it was cheaper and/or faster for them to buy vs build a comparable service from scratch.

Also, by owning tweet.photo outright, the new owners can bundle it with other complementary services in their portfolio.

There is a saying that there are two ways to make money in software: bundling and unbundling.

Also, the domain name/branding :)

Which, if it becomes sizable, will be targeted by Twitter because of their trademark on the word tweet. They did this with Twitpic.


> In April, Kevin reached out to me asking if I was interested in selling Tweet Photo. He had a strategic interest with his other products CreatorKit and Top Nine.

It seems like a complimentary product to the acquirers other portfolio of products. So it's probably a no-brainer for the acquirer even if 'overvalued' by traditional MRR metrics.

> " he or some contractor could have built the same product in a weekend."

All available contractors where already busy building a FB clone on a weekend.

The domain was probably as valuable as, if not more valuable than, the product

It's an interesting thought and definitely a good domain for the use case. Tweet.photo as a domain isn't worth very much free standing though. Sub $1,000. You might get a few thousand dollars from a motivated buyer.

Domains are typically either worth a surprising amount, or very little (always surprising to inexperienced sellers). The gap inbetween tends to be very large. That's the common result I've seen most often over multiple decades of buying and selling domains. It's very common for people to think they have a valuable domain, and then inevitably it'll end up being worth a small fraction of what they think it is. Valuable domains are almost always super obvious (eg tweet.com would be), or otherwise you get lucky with someone that'll pay a few times over fair value because they've got a specific use case and really want it (eg tweet.photo is worth $750 if dropped on the market, someone pays you $2k-$3k because they have an idea for an app and that's in their mess around price range).

There may be nothing more annoying in this world (joking here) than the domain squatter sitting on a $300 domain that is fully convinced their domain is worth $100,000 or more. It's their chance, their lottery ticket, and they're not selling cheap. Back in reality, exceptionally few domains are worth more than a few thousand dollars.

@ayewo nails it. See her/his answer.

I just want to add that while it might be possible for you and me to "build this in a weekend" (although in reality it always takes longer considering all the edge cases), for other businesses it might be cheaper than just buying an existing app. They know what they are getting versus hiring a freelance developer, writing a spec, managing them, etc, etc.

Did you ever run into trouble with the domain / service name? I wouldn't be surprised if Twitter has or has tried to copyright / trademark the word "tweet".

Twitter has been unable to protect/own the word tweet effectively in its use case. They tried to acquire the trademark in a round about way back in 2011 from Twittad [1], relating to a phrase ("let your ad meet tweets"), with a filing date all the way back to July 2008 [2]. If you dig for "tweet" in the TESS trademark database, there's nothing related to Twitter owning it however. My opinion, and from everything I've read on the subject, is that Twitter has zero trademark control over the word "tweet" unto itself.

They did acquire this trademark however ("subtweet"):


And there is a new trademark published for opposition from August 25, 2020, related to bird food:


[1] https://mashable.com/2011/10/10/twitter-tweet-trademark/

[1a] https://www.hg.org/legal-articles/update-twitter-finally-lan...

[2] http://tmsearch.uspto.gov/bin/showfield?f=doc&state=4803:kmz...

I think Twitter is okay with people using the word "tweet" as it doesn't imply affiliation with the Twitter company, but still clearly communicates that it's related to their service.

Fun side-note: I actually had another service called "EmbedTweet" back in the day when Twitter didn't have their own embed functionality (yes, that was a long time ago). They listed my service on of their official help pages.

So yeah combined with the fact there are so many "tweet"-based names, I think you're safe using that term. Oh, and when creating an app in their Developers portal the require you to enter a name, and they don't flag "tweet" but I think they do flag "Twitter".

> I made a new thing called https://t.co/LMVsrPNaFV

Another reason to dislike Twitter's disguised shortening...

(In the original tweet, viewed on Twitter, that should read 'called tweet.photo'.)

Congrats! Thanks for sharing. I think one of the best decisions you made was the choice of the domain name. It feels authentic.

I always wonder how many of these are just bought by shady companies to install spyware and such. Seems like something easy to duplicate for anyone with funds. Unless they aren't in the business of building and running apps. I know at least a few this has happened to and goes on in the Google play store as well.

A lot of SEO spammers buy old but popular Wordpress plugins to inject hidden backlinks to their websites, so it's entirely possible

Woah, didn't know that, that's low.

Would it be feasible for an SEO spammer to covertly include such backlinks in an npm package update?

Check the backlink profile for pages ranking for spam-dominated queries such as "buy CBD oil" or "buy viagra" and you'll see an incredible amount of spam and fraud.

Sucks that despite this being a 20+ year old problem, Google hasn't been able to fix it.

If 'npm package update' includes the ability to modify strings in served pages, one would assume so.

The obvious question: how many hours do you think you spent on it, all up?

That's a great question I unfortunately I don't have a great answer for.

The majority of the time was spent in those first few days were I built the initial product. Tweet Photo is technically quite a simple product, especially if you're familiar with the relevant open source libraries and APIs which I was anyway.

But for me the main "cost" was knowing the APIs could change and I'd need to be ready to make the necessary changes.

Oh, that's cool. So a few days of actual labour, then just a certain amount of mindspace over however many months/years. $10-30k seems a good return on that.

Thank you for sharing your story! Even though selling my side projects isn't the goal behind them it's nice to see someone creating a side project in a short span and actually finishing it.

I really enjoyed this blog post. Great writing, easy to read and follow, and a compelling and relevant subject for many readers here. Thank you for sharing!

How did you host this project? Did that have a significant cost?

> I believe in using the tools you’re familiar with, so I used Ruby on Rails to build the product.

Thank you for sharing your story Marc. Any idea how much time you spent on creating this service in total?

Are you going to continue involve with the product development?

See https://news.ycombinator.com/item?id=24340353

I won't be involved in the product development, but we might to the occasional video call or email to exchange ideas and insights.

basically he still made great money, i don't think anyone would pay more than $10k .. if he had listed it on flippa it's simple 3 x yearly revneue for such sites = $ 5000 maxium. he got the right buyer and $10k isn't bad deal for either party.

On technical side: I wonder what APIs this service (and others like Zapier) use. Original Instagram API is all but closed to devs, and the new Facebook APIs are limited and reduced to "business accounts". Any good APIs I've seen are libs that reverse-engineer Instagram's internal APIs and use those.

Instagram's new API is open to regular users as well (that's what Tweet Photo uses), but I believe it's read-only.

Zapier etc probably have special deals with Facebook.

Thank you! Last time a looked at it a few years ago I couldn't make heads or tails of it. I'll take a look again.

There’s an approval process you need to go through. I wouldn’t recommend it if you can avoid it as you’ll be at the mercy of Facebook.

you had zendaya using you and there was no step function jump in revenue? why is that? seems really odd.

There was a big jump in signups, but not as much in monetization. My guess is that it was mostly young consumers signing up through her, but it's the professionals and businesses that pay to upgrade.

1. how many side projects have you had? was this the only successful exit?

2. how do you come up with the startup/tool ideas?

1. Too many to count. The trick is to ship fast and see what sticks. Focus on that, ignore the rest. Tweet Photo is my first legit exit, but some of my other side projects have turned into $xxx,xxx/year businesses. Just haven't sold them :)

2. Usually out of necessity. Something I want myself, but can't find an (appealing) existing solution for.

I'd be interested in hearing about some of these other side projects (well, the financially successful ones anyway). Do you have a list somewhere?

My Twitter bio has a list of many of my projects: https://twitter.com/marckohlbrugge

Most notable:

https://betalist.com (2010): $xxx,xxx/year

https://startup.jobs (2016): $xx,xxx/year (could hit $xxx,xxx this year)

https://wip.chat (2017): $xx,xxx/year

congrats, that's awesome.

are they all 100% owned by you or did you drink out of the poisoned foundation (vc)?

also how do you toss up many sass so quickly? do you just have an auth and payment module you're comfortable that you reuse for every project?

Thanks. All owned 100% by me. No outside funding or co-founders.

I use Ruby on Rails which has a lot of pre-made libraries for common tasks.

I’ve been building products for 10+ years though. So it’s mostly a matter of time I think

TLDR: sold for 10k plus rev share. Sold because of platform risk.

Great work! Email me.

I mean, there’s IFTT...

> You can find many workarounds using automation services like IFTTT and Zapier. Because I was unhappy with all solutions,

Sure. The question to me is where the 30k PV coming from?

Probably for the API access to Zendaya's Insta and Twitter accounts

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