Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Building a side project that makes money. Where to start?
602 points by ihoys 233 days ago | hide | past | web | favorite | 248 comments
I work for a tech company. The fallacy is that I have so much information about day to day job in my head that I have lost all creative juice. I can code in python with some help but my skills are more towards management and backend data processing.

I want to build a side project. Especially, one that makes money. Even if it brings in $100, I feel that it will provide more satisfaction than my current job.

I don't have any frontend dev skills. Where should I start?

Should I outsource the website development part? I am 31. I am pretty sure learning FE development is not going to be useful anytime soon. With tech stacks, if you don't practise you tend to forget things eventually.

Can you provide some ideas on where to start? What are some simple things I can build by myself? Any ideas?

This is going to sounds like crazy advice, but having worked on many side projects in my life the last thing that's going to let you down is your skills. What you really need is time. Let's say it takes you 400 hours to build your project -- in those 400 hours, you will build up enough skills to get you started (not nearly enough to be good at it, but good enough).

So you need to work consistently 1-2 hours a day on your side project. It really doesn't matter what you do. If you manage to get those 1-2 hours in, you will muddle through and accomplish something. If your goal is to make a side project and bring in a non-zero amount of money, this is achievable. Learn whatever you learn on that project and then do it again.

Personally, I would spend exactly $0 on your task because, like I said, the thing that will kill you in the end is likely to be time commitment. If you spend money, you will be out the money and your time. So start with time and see where it takes you.

As others have said, no need to get fancy. Just build the simplest thing that will get you started, using the simplest tools you can find.

> So you need to work consistently 1-2 hours a day on your side project.

I would underline this consistency. I found that as long as I'm regularly doing even the tiniest of improvements to my side-project, I am very efficient over the span of a few months. When due to other obligations I drop the habit, I start forgetting how parts of the codebase work. It becomes harder to restart the project and the whole thing just seems depressing. Consistency is key!

Also, I would recommend checking out Indie Hackers if you need inspiration :)


I agree with the consistency thing too. I built a search engine for talks (https://www.findlectures.com), which has a UI plus lots of little scraper/ETL utilities.

If I have a small block of time (1-2 hours), I try to make 2-6 really small commits, so there is always progress.

If I have a larger block (4-6 hours) I try to build out a feature so it just works, just working on things that require that amount of time (leave all the short problems for later).

I found this also affects my decisions about what tools I use and how the software is designed. E.g. using npm libraries for UI components that are "good enough", which I might be tempted to start from scratch in a work environment. I also intentionally built an application that is easy to manage - no user accounts means no database to pay for / migrate / monitor.

I'm using Heroku to outsource monitoring/logging, and Aweber for email. Paid tools can be cheap compared to the time it would take to replace them, and if you don't pay for one of these, your side project turns into building those products as well.

I agree with you that time is the big limiting factor. I think the other trap that people fall into is starting a side project that is too big. If you can't finish it in less than 2 months, odds are that you never will. Focus on something specific enough that it does something after two months. Then do v2.0 or switch to a new project.

I've personally found the "don't spend money" part to be demotivating. I have several projects running and was paying a low cost designer for a small number of hours per week. This is kind of like having a company without long term commitments. It helps to keep me motivated since I need to keep work ready for him each week. Plus, I've made a personal commitment to pay him regardless. I don't want to waste money or his time so the project naturally keeps some momentum. This may not work for everyone but is like a "go to the gym with a buddy" plan that helps me. YMMV

I think there is a lot of value to what is said here with regard to external expectation. Use the people around you to ask after your side project to make sure you don't stall. If having a recurring bill for a node on EC2 is enough to keep you going then that is good enough.

The other thing I recommend is clock your time and be honest with yourself. It helps you know you actually spent 2 hours working on something and also has a constant action to keep progress going forward. You still need to rest so this has to be part of your clock.

I disagree with "2 months". It's definitely true that launching early is the way to go. I think the biggest thing is continuing momentum. If you commit to working on the project every day for 1-2 like some others have said, you will accomplish small little things each day, and that will motivate you to continue.

Yeah, I wasn't implying that you should have to "launch" anything by two months. Picking something small enough is important so you can say that part is "done". You can then iterate on v2 and keep building momentum or decide that it is too big or not interesting and start again with something else. I think the momentum of 2 hours a day is great but I think it has to have a goal. I think picking a goal that is 2 months out is a good size and will help you focus.

"What you really need is time". This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This. This...this.

Over the last 6 months I've finally had the chance to a big bulk of my working hours to my main side-project, and it's taking shape very nicely. This is after starting it 3 years ago. Time and concentration are the biggest hurdles to getting anything off the ground.

But isn't time a function of skill?

To put it another way, if you had a lot of practice at building CRUD apps, have your IDE set up, know the short cuts, might it take you 40 hours where someone else needs 400?

In that case, time and skill would be fungible. (Or, skill can be thought of as "stored time.")

This exact question is addressed in the book "Grit" by Angela Duckworth. I highly recommend reading the book, but to summarize her findings on this question...

    talent x effort = skill
    skill x effort = achievement
So yes, you can achieve more by starting with a higher level of skill, however putting in effort (through deliberate practice) is the best way to increase both your skill and achievement (talent x effort^2).

I want to add that in my experience, it is not so much about 'time' as an objective thing. Instead, especially for dev work, I would argue it's more about 'energy' (or 'focus', 'attention', 'willpower').

Or maybe you need both and the latter is more my limiting factor at the moment.

That's a good point. I find I am more productive in the mornings.

Time and attention, yes indeed.

So true. I started side projects so many times without staying consistent and it created this self fulfilling prophecy of "I'm not good enough at coding, I can't build a real web app". Then for http://www.averageweather.io I finally decided to just keep working at it every day. After a few months I was comfortable with python, Django, js, heroku, and postgres to the point where I felt I could build anything I wanted if I just put in the time.

Then something like http://www.thealccalc.com took me like an hour since it is far less complex.

So ya, just keep at it, google for answers to your questions and just keep learning.

My biggest problem is in "no need to get fancy". Do not know how to overcome that urge to overengineer everything in the start and how to be satisfied with minimal working thing even if it looks like crap.

You don't have to feel satisfied. You're supposed to feel unsatisfied with an MVP. If you didn't, you wouldn't have the drive to build anything better.

For me, I use three other feelings to combat my high standards.

One is fear. In particular, fear that I'm building a bunch of stuff that won't work. It's the same fear that drives me to write automated tests, or at least to manually run something and see that it works. Except here the fear is that it might work for me but not for my audience.

Another is rigor. This part feels very sciencey to me. I'm trying to test the hypotheses that are implicit in the thing I'm making (and that I've hopefully at least tried to make explicit before I start coding). I want to test my hypotheses as early as possible, and when I don't I start to feel like I'm not being rigorous.

The third is joy in results. The early tests are only looking for one step forward. If that's all I'm looking for, it is really exciting to see that. And so I temporarily set aside my concerns about all the things I'm not testing for and celebrate the wins when I get 'em.

I noticed that, as I get older, I tend to have less time, and so I try to optimize my time.

When you don't have an hour a day to work on your side project, but 15 minutes a week, then you do what is needed for it to start working, even if it's not perfect or far from what you wanted.

If you have plenty of time try to make the smallest thing that does approximately what you want. Then iterate over it, but always small but fully functional incremental changes. Don't be afraid of having to throw it away, no need to get it right the first time.

You can always make it fancy later. Having shipped a project and seeing people using it is very rewarding.

Same here

You argue that time is the limiting factor, and I tend to agree with that. However, you advice against spending any money, which can potentially buy you much time if spent properly.

Paying for some of the grunt work or tasks that require learning new skills will free you up to do the more exciting tasks. Not only will this save you time, it also keeps you motivated and helps you keep up your daily cadence.

The time thing really resonates with me. I've had this crazy idea rolling around in my mind for a few months. It's basically a sabbatical for the private sector. I haven't devised a good model, but it's like: "we'll pay for a 3 month vacation, you give us equity in return." The main problem, of course, is the incentive to take a risk-free vacation and do nothing.

I think the problem to be solved is: lots of people dream of doing something, but risk aversion stops them from going all in. As a side project, the idea starves. If you could decrease the risk, more people would try new projects, and some of them would be really valuable.

Ironically, I don't want to quit my job to pursue this

This is an interesting idea, would this not be similar to an incubator?

I have a similar problem where I have a side project but can't really quit my job and work full time on it.

Yeah, I guess it is basically an incubator, except people wouldn't fully commit. My impression is that most incubators screen applicants for commitment, and that it's a really important component. I can't really provide hard evidence of my impression.

Here, the worry would be free riding.

Talking about simplest tools, which are those for frontend development?

Not sure if I should share this, as it is a trivial and obvious thing to do. Recently I created a ramen-profitable on google play with currently a couple of thousand users.

The idea is to look for apps that have low ratings, high downloads and lots of recent comments, then make them better. You can use synonyms and the same niche category to increase visibility on google play. This is where the money is.

> Not sure if I should share this, as it is a trivial and obvious thing to do...

Probably worth linking here to Derek Sivers' post "Obvious To You, Amazing To Others": https://sivers.org/obvious

I've heard of your method before, but I first read it in Fast Company in a story called The Amazon Whisperer, and while it might seem obvious now, I thought it was amazing when I first read it: https://www.fastcompany.com/3021229/chaim-pikarski-the-amazo...

That article on FastCompany about the Amazon Whisperer is incredibly eye-opening. Thanks for linking

This technique also works for Wordpress plugins, and just about any other paid category with reviews.

You can go into wordpress.org, just take a look at the download numbers and it will tell you flat out like whether somebody’s downloads are increasing overtime or are they decreasing, when the last updates were, all that kind of information. And you can get a sense from that information alone as to whether or not it would be possible to put another plugin that offers similar functionality

http://www.startupsfortherestofus.com/episodes/episode-249-f... (search "12:54")

You can also find WordPress plugins that have a good install base, but the author is looking for someone to adopt.

I adopted a refer spam blocker plugin (https://wordpress.org/plugins/block-referer-spam/), added some features for a paid version (https://www.blockreferspam.com/) and it's doing pretty well.

This is the only non-vague, useful comment to this thread so far. A specific tactic that can be practically applied.

Don't worry, I've thought about doing something similar - I'm sure others have too. Still not so many people doing it that your niche will dissappear.

Would be interesting if you would plug your app(s) though. Might boost your sales too :-)

It is a highly localized radio player. Reduced data usage seems to be highly demanded by customers and other app owners tell users it's impossible. But I know nothing is impossible :-)

I am currently experimenting with a streaming proxy that will channel data with 60-70% reduced quality (for customers who aren't audiophiles).

Like everything in engineering, I imagine it is a balancing act.

I'm often amazed how good enough downsampled 480p video can be (e.g. on YouTube). If you're solving a problem for people, +1 to you.

My apologies if you're already aware of this: there are cheap VPS providers with unlimited bandwidth, perfect for these "streaming middleman" type of audio/video applications.


How are you monetising it? Is it a paid app (upfront/in-app purchase)?

I opted for in-app because then I won't have to manage two releases on play store. (demo/free app and paid app)

A quick list of such apps:

(Tools) Claro downloads: 10000000 rating: 3.0

(Entertainment) Free Music Download downloads: 5000000 rating: 2.3

(Simulation) Laser 100 Beams Funny Joke downloads: 5000000 rating: 2.6

(Racing) Liberty Auto downloads: 5000000 rating: 2.7

(News & Magazines) PressReader (preinstalled) downloads: 5000000 rating: 2.9

(Tools) SAMSUNG TV & Remote (IR) downloads: 5000000 rating: 3.0

(Entertainment) MYTF1 downloads: 5000000 rating: 3.0

(News & Magazines) Hürriyet e-gazete downloads: 5000000 rating: 3.0

(Entertainment) NetMovies downloads: 1000000 rating: 2.2

(Communication) SoftBankメール downloads: 1000000 rating: 2.2

(Entertainment) YouTube for Android TV downloads: 1000000 rating: 2.4

(Lifestyle) NissanConnect downloads: 1000000 rating: 2.4

(Entertainment) blim downloads: 1000000 rating: 2.6

(Travel & Local) HRS App downloads: 1000000 rating: 2.6

(Simulation) Night Vision Camera Prank downloads: 1000000 rating: 2.6

(Action) Dead Drunk Lover (very hard) downloads: 1000000 rating: 2.6

(Arcade) Happy Win Bro The Wheels Mode downloads: 1000000 rating: 2.7

(Simulation) Face scanner What age Prank downloads: 1000000 rating: 2.7

(Finance) (앱연동) Droid-X 안드로이드 백신 downloads: 1000000 rating: 2.7

(Board) Twist Your Fingers! downloads: 1000000 rating: 2.8

(Lifestyle) U+TV앱(리모콘) downloads: 1000000 rating: 2.8

(Tools) Universal TV Remote downloads: 1000000 rating: 2.8

(Simulation) Woman Hypnosis simulator downloads: 1000000 rating: 2.8

(Finance) 앱프리 - 전자서명, 앱프리 downloads: 1000000 rating: 2.8

(Music & Audio) Virtual Flute downloads: 1000000 rating: 2.8

(Books & Reference) T-Mobile eReader downloads: 1000000 rating: 2.8

(Tools) KSfilemanager for FUJITSU downloads: 1000000 rating: 2.9

(Casual) Funny voice changer! downloads: 1000000 rating: 2.9

(Tools) Universal TV Remote downloads: 1000000 rating: 3.0

(Simulation) Adult Stunner Simulator downloads: 1000000 rating: 3.0

(Arcade) City Craft: Building downloads: 1000000 rating: 3.0

(Simulation) Iron Glove Laser Simulator downloads: 1000000 rating: 3.0

(Lifestyle) Mos Burger downloads: 1000000 rating: 3.0

(Tools) Too Many Items FREE downloads: 1000000 rating: 3.0

(Entertainment) B tv plus downloads: 1000000 rating: 3.0

(Entertainment) Smart-AC Universal Remote Free downloads: 500000 rating: 1.7

(Communication) Visual Voicemail Plus downloads: 500000 rating: 1.9

(Racing) Car Driving Simulator downloads: 500000 rating: 2.2

(Finance) NFC Pass downloads: 500000 rating: 2.3

(Travel & Local) VZ Navigator for CasioCommando downloads: 500000 rating: 2.3

(Lifestyle) ARITAUM downloads: 500000 rating: 2.3

(Photography) Photo Eraser downloads: 500000 rating: 2.4

(Communication) 안전신문고 downloads: 500000 rating: 2.4

(Simulation) Pocket ball hologram simulator downloads: 500000 rating: 2.5

(Entertainment) PLUS7 downloads: 500000 rating: 2.6

(Action) Pixelmon Hero GO downloads: 500000 rating: 2.7

(Lifestyle) REALTOR.ca downloads: 500000 rating: 2.7

(Simulation) Pet Spook Simulator downloads: 500000 rating: 2.7

(Entertainment) TOPModel Community App downloads: 500000 rating: 2.8

(Casual) Juegos de Vestir downloads: 500000 rating: 2.8

(Tools) Dog Whistle PRO downloads: 500000 rating: 2.8

(Entertainment) Weight Machine Scanner Prank downloads: 500000 rating: 2.9

(Tools) Quick Measure downloads: 500000 rating: 2.9

(Entertainment) TVチューナー downloads: 500000 rating: 2.9

(Sports) Combate Play downloads: 500000 rating: 2.9

(Video Players & Editors) WatchBig! downloads: 500000 rating: 2.9

(Lifestyle) KT 인증 downloads: 500000 rating: 2.9

(Arcade) hunting craft survival war downloads: 500000 rating: 3.0

(Arcade) Ender Dragon Mod for Minecraft downloads: 500000 rating: 3.0

(Entertainment) Telewizja Tu i Tam downloads: 500000 rating: 3.0

(Entertainment) Sky Sports Mobile TV downloads: 500000 rating: 3.0

(Health & Fitness) Heart Rate Tester downloads: 500000 rating: 3.0

(Arcade) VCMI downloads: 500000 rating: 3.0

(Tools) Sharp Smart Remote downloads: 500000 rating: 3.0

(Casual) Spin the Bottle Kissing Game downloads: 500000 rating: 3.0

(Tools) WiFi Display downloads: 500000 rating: 3.0

(Tools) URL HOME downloads: 100000 rating: 1.0

(Sports) 7Live - Take your TV with you! downloads: 100000 rating: 1.4

(Productivity) Connect2 downloads: 100000 rating: 1.8

(Tools) Little Pony Minecraft downloads: 100000 rating: 2.0

(Productivity) Backup Assistant Optimus Zone downloads: 100000 rating: 2.1

(Entertainment) Hacks Tip and Trick for Agario downloads: 100000 rating: 2.1

(Productivity) Easy OTG Camera downloads: 100000 rating: 2.1

(Entertainment) T-Pain Voice Auto Tuner downloads: 100000 rating: 2.2

(Health & Fitness) PowerSensor downloads: 100000 rating: 2.2

(Entertainment) Gift Code Generator downloads: 100000 rating: 2.3

(Entertainment) Thug Life Maker downloads: 100000 rating: 2.3

(Communication) Ben App downloads: 100000 rating: 2.3

(Simulation) ガンダムエリアウォーズKR downloads: 100000 rating: 2.3

(Simulation) Crafting Dead downloads: 100000 rating: 2.4

(Business) MySurvey downloads: 100000 rating: 2.4

(Shopping) Eldorado Store downloads: 100000 rating: 2.4

(Video Players & Editors) VR BOX KOREA downloads: 100000 rating: 2.4

(Travel & Local) Alitalia downloads: 100000 rating: 2.4

(Productivity) iTrio Laser Pen downloads: 100000 rating: 2.4

(Music & Audio) Mp3 Music Download downloads: 100000 rating: 2.4

(Entertainment) テレビ視聴 downloads: 100000 rating: 2.4

(Entertainment) 아이템매니아! 안전한 게임! NO.1 아이템 거래! downloads: 100000 rating: 2.4

(Health & Fitness) TomTom MySports downloads: 100000 rating: 2.4

(Entertainment) 천국에서 온 편지 downloads: 100000 rating: 2.4

(Productivity) Alice Webmail downloads: 100000 rating: 2.4

(Entertainment) M6 mobile downloads: 100000 rating: 2.4

(Arcade) Guide for Geometry Dash downloads: 100000 rating: 2.4

(Communication) emobileメッセージ(旧EMnetメール) downloads: 100000 rating: 2.4

(Trivia) 바보퀴즈 downloads: 100000 rating: 2.5

(Strategy) Crack the angry birds egg downloads: 100000 rating: 2.5

(Simulation) Flashlight Form Simulator downloads: 100000 rating: 2.5

(Productivity) EDITOR TEXT FOR PDF downloads: 100000 rating: 2.5

(Books & Reference) Mine Little Pony Mods for MCPE downloads: 100000 rating: 2.5

(Entertainment) 3player downloads: 100000 rating: 2.5

How did you query such list?

crawled google play data earlier and filtered offline.

Thanks for the reply. Did you face any issues during crawling process like access restrictions. If you share your practice I will be appreciated.

My crawler is modified from https://github.com/KopLyf/GPlayCrawler. Crawled 100k+ apps without any access issue.

I just tested this with `apt install python-scrapy python-pymongo && scrapy crawl google`. It seems to download one by one.

Edit: Interesting, it also downloads comments in my locale. Google play seems to be responding according to my IP information.

Ad supported or paid?

Ads are awful. It is currently a one-time purchase. Edit: this is one more thing that others were doing wrong.

Edit: Google ads are inane in my localization. You mostly get adult lines and "you caught a virus" scams despite opting out. Google doesn't seem to do anything about it despite complaints. I get paid because I removed the ads (even from demo version) and I do it gladly. Good riddance.

Reminds me of the time an ad managed to somehow break out of its boundaries and present the user with a popup. It still amazes me, this was Google Adsense for Android, but I saw it with my own eyes. And guess who received the bad reviews..

Here's what I did: at work I needed something. (A git commit graph). But the one I found was #1. buggy, and #2. too expensive. It wasn't my money, but I just couldn't allow my company to pay that much.

So I made my own, and fixed the bug: http://bit-booster.com/best.html

And then I realized I needed a rebase button on the pull-request screen... and so it continues to evolve.

Here's the thing: I've always known I'm a good maintenance programmer. I've always preferred working on existing software instead of making new software from scratch. And writing add-ons for Bitbucket is basically just another form of maintenance programming: reading Bitbucket's code, noticing its flaws and shortcomings, and fixing them.

Also, I love git, and I love going very deep into git (e.g., https://github.com/gsylvie/git-reverse.sh). So this is my dream job.

I've only made $7,000 USD after 1 year on this side project. But $1 of those dollars feels better than $10,000 from my day job.

That is pretty awesome.

I've done the maths. They say money can't buy you happiness but we all have our number. It looks like your number is around $70,000,000.

I have the strong feeling that there isn't much money in software tooling.

Also, like it or not, any successful product will eventually be replaced by an open-source equivalent.

Yes, software tooling is not a huge market compared to say, JIRA. My add-on is 287th place for sales in the last 30 days ($2800). Most of the add-ons ahead of me are for JIRA or Confluence: https://marketplace.atlassian.com/addons/top-selling

Successful tooling often faces competition from open source. But I'm still using IntelliJ...

You can be both successful and open source. Look at sidekiq as an example.

Have you considered simplifying your pricing structure? ;)

I've set 25-user at $112 and 50-user at $225 for a specific reason. Atlassian pays us add-on vendors monthly, but only once we've done $666.67 in sales since the previous remittance.

Atlassian dictates the maintenance renewal price: 50% of initial price for customer to extend maintenance by 1-year.

I've only been at this 1-year, so I don't know what the renewal scene is like. But I suspect renewals are good in this market, since enterprise customers often have policy requiring all their software be supported.

I am probably missing something obvious, but... how did you make those $7000? Donations? Nice btw.

Its a nice product - the curves remind me of the london underground map

I think you should start something very very small and forget about the money part for now. For me, my most successful project ideas came from problems that I faced during my own site launches.

Since you don't have much knowledge of FE development, I would suggest you keep things Simple Stupid and try to do as much as possible with HTML and jQuery. I have created really complex websites using just PHP and jQuery (sites that have made me 6 figures over time), plus you will learn the real nitty-gritty like DOM manipulation, CSS tricks, etc - which you will need to use anyway at least a few times regardless of the shiny JS framework.

I would highly recommend at this time you don't get sucked into the React, Node, Vue, etc. You will only end up wasting months without nothing to show for it (but maybe I'm just too old school).

Whatever time you have left after that, use it to learn online marketing. Learn about list building, SEO, Copywriting, outreach and affiliate marketing. Because that's how you turn your technology into actual money.

Any resources you'd recommend for learning online marketing?

Assuming you are just starting out first make sure to get the basics right. What I mean by that is stay far away from these "growth hack" sites or any courses that promises you instant results and hacks. They can be useful but unless you are already getting 500 sign-ups / day you don't need them just now. Save your money because there is enough free information on the net to get some really good results and you'll often find more helpful information in the first 3 results of Google than a $2000 course or coaching.

Secondly, The best approach I have learned when it comes to online marketing is to learn from your competition, esp when you are just starting out. Need a catchy headline? Look at the best adword ads (these guys spend a ton optimizing for clicks), need a great landing page.. Ditto, want to learn how to write the best selling emails, subscribe to all your competitors. You never have to start at square one.

It's useful to start visiting https://growthhackers.com/posts and reading stuff posted there daily. It's like HN for online marketeers.

You dont really need anything to start. Simply do the following:

- Talk to people about whatever problem you are looking to solve. Leverage social media and join in the conversation. Twitter is a good place to find people to talk to.

- Pay attention to the words people use. All problems have a set of specific keywords that tell you everything about how people feel about it. Use these keywords to communicate with people. Talk with their own words.

- Be consistent. Repetition is key. Say the same thing in different words. Repeating is important. Communicate the same message in similar ways.

That's pretty much what you need. Once you've learned more about the problem and those who have it, you can then leverage that data by using tools to reach more people.

Marketing (all of it) is about comminication. Listen and oay attention. Good luck.

Inbound is a great community for SEO related discussions - https://inbound.org

FWIW: If you're asking about marketing after you've built a product, you're doing things in the wrong order. That's why I've included Rob's Start Small, Stay Small as one of core ideas is market validation. From a review: "not about coding but about [finding] a great niche, building a product that executes at a plateau and make it run automatically"

"The other resource I'd recommend is the one I'm releasing in ~3 weeks :)" https://www.julian.com/learn/growth/intro -- julianshapiro | https://news.ycombinator.com/item?id=14026863

Secret Sauce: The Ultimate Growth Hacking Guide "the only actionable Internet marketing guide out there" (2017) $40 https://www.secretsaucenow.com/ -- austenallred | https://news.ycombinator.com/item?id=13807171

Marketing for Developers "Don’t build another software product no one uses. Discover what people will pay for before you start coding." (2015) $39 https://gumroad.com/l/devmarketingbook -- mijustin | https://news.ycombinator.com/item?id=12034104

Traction: How Any Startup Can Achieve Explosive Customer Growth "I started doing a series of interviews on my blog with successful founders about how they got traction" (2015, 2nd ed.) $15 https://amzn.com/dp/B00TY3ZOMS -- epi0Bauqu / yegg | https://news.ycombinator.com/item?id=10346268

Start Small, Stay Small: A Developer's Guide to Launching a Startup "The book is approaching 11,000 copies sold to date, so it's obviously filled a need." (2010) $10 https://amzn.com/dp/B003YH9MMI -- rwalling | https://news.ycombinator.com/item?id=5361601

These guys all use their own techniques so they love bundling additional stuff besides the ebooks.

Rob's book is a bit old at this point, but I'd heartily recommend it just the same.

Yes, it's easily worth the $10 before starting anything; the rest might pay off more once there's a product.

Very helpful, as a geek trying to build a real-world business selling honey.

Money is a good motivator but it is not the only one.

If you intend to switch to money later, you should probably at least validate the idea before having a great time building something only to find out no one wants it.

What is the website that made 6 figure ?

There are many, i can't name all of them here but a few old ones are listed in my HN profile.

Here's my suggestion. Walk down the road to shops in your area (small, family run businesses) and ask if they have a business problem they think IT can solve.

You'd be surprised how little some of these businesses know. I have previously; - Built a travel database in MS Access for a Travel Agent (long time ago) - Ordered and setup ADSL connections and email for a water tank manufacturer and a furniture store - Capture requirements, researched, ordered and installed an office (6 people) worth of IT kit for a not-for-profit (didn't charge them for this work). - Designed and implemented a roster management system for an IT helpdesk for a university.

There are heaps of opportunities. Just have to know where to look.

This really is an excellent suggestion. I would add on to it to also talk with local governments as they are increasingly wanting to provide mobile digital services to citizens.

Onto this I will add a suggestion to consider volunteering your services. If you do an outstanding job as a volunteer, then when the organization gets some budget, you'll be first in line to do the work.

Don't offer to work for free. If a sizable organization really wants to have a problem solved (and they believe you can do it), they will try their best to find money for it. Just go to the next place / next problem.

This is bad advice because you are not giving them a reaso to pay you. Volunteering is nice and all but never ever give away your product. Offer something related that you can tie in and convert into a sale.

Great suggestion.

It's easy to forget the problems non-tech small businesses face when you spend your days on HN. As someone who works at a company that deals with these small businesses I see it everyday. For many of them providing simple solutions that let's them move from pen-and-paper-based solutions to databases and small applications simply feels like the kind of magic we take for granted around here.

This is very true. I had my friends, who built a simple application for a Medical shop in Chennai,India. The medical shop has around 10+ branches around the city. The application helps them to print the invoice, find medicine across branches, raise for new medicine etc!

It all started when my friends went to each Medical shop and talked about the idea and one of the medical shop clicked.

This is a great way to start freelancing; be careful to research multiple sources if looking for a multi-customer side project!

I built Rocket League Replays[1], a website which analyses the replay files generated from matches played in Rocket League. I took my inspiration from GGTracker[2] which is essentially the same thing, but for StarCraft 2. I was looking through the replay files and noticed that there was some human readable content in them, so I wrote a parser[3] and built the site around it. Eventually I started a Patreon which allowed users to support the site in return for more advanced analysis. I get around $200/mo from that which covers the server costs etc, so I'm more than happy with that.

[1]: https://www.rocketleaguereplays.com/replays/

[2]: http://ggtracker.com/landing_tour

[3]: http://danielsamuels.co.uk/words/2015/07/27/rocket-league-re...

Tell us more about your skills before starting the project and after starting the project. Were you basically a front end or back end guy before starting the project. What technolgies did you choose and why. How long did it take to complete. How many hours did you invest. Did you invest time consistently in smaller chunks or large chunks at one shot.

Sure, so I've been a full stack developer for 11 years. Started in PHP, now working in Python (using Django). I've been the lead developer (now technical director) at a top 4 digital agency in the UK, so I've got a lot of industry experience.

The MVP was built in 2-3 days, I think I started it Friday night and launched Sunday morning, the initial version didn't do a lot, but it was good enough to get it live. From there I then worked on it most weekends for a period of perhaps 4-5 months? Since September-ish, it's been pretty self sufficient. I update it every now and again when new updates are released to the game or the parser (which is now written by someone else), and I sometimes work on new features, but for the most part it's in a good spot and I'm happy with it. It's on Github[1] so you can get an idea of the effort put into it (the version which is live isn't the same as the public Github repo, I have a few private repos on Github due to some NDAs, hopefully I'll be able to publish the latest code soon).

[1]: https://github.com/rocket-league-replays/rocket-league-repla...

The details regarding time managment would be great.

However, I personally would be much more interested in any info on how he got the word out and attracted users. That's the part most developers are missing in the "that makes money" portion of the equation.

Reddit and Twitter were big things for me, I announced the initial release on the Rocket League subreddit[1] and then announced updates whenever they were released[2][3][4][5][6][7][8]. I automated daily posts to reddit and Twitter[9] for the "match of the day" (calculated based on a variety of factors). I engaged heavily in the community on Twitter, other fan sites and got my name out there. I gave away the extra (paid-for) features to the top teams to get them using it. I added support for features which users asked for.

One of the biggest sources of traffic for me now are the Rocket League analysis / training subreddits[10]. It's become _the_ location to upload your replays if you want to share them with other people. Making it easy to share (no account required) was a big part of this.

[1]: https://www.reddit.com/r/RocketLeague/comments/3et5yx/after_...

[2]: https://www.reddit.com/r/RocketLeague/comments/4f3jq2/rocket...

[3]: https://www.reddit.com/r/RocketLeague/comments/4d1kpe/rocket...

[4]: https://www.reddit.com/r/RocketLeague/comments/4a9s44/rocket...

[5]: https://www.reddit.com/r/RocketLeague/comments/44xp8j/rocket...

[6]: https://www.reddit.com/r/RocketLeague/comments/3yws8d/rocket...

[7]: https://www.reddit.com/r/RocketLeague/comments/3pra3u/rocket...

[8]: https://www.reddit.com/r/RocketLeague/comments/3gtulm/rocket...

[9]: https://twitter.com/RLReplays

[10]: https://www.reddit.com/r/RocketLeagueAnalysis/

Wow, you've done a great job making this a useful product with meaningful value.

There's a user in the Heroes of the Storm (Blizzard moba, same engine as SC2) that did the same thing, except went the completely opposite route and riddled the site with predatory ads (the kinds that produce popunders and play audio on load). The paid option was to get rid of the ads. Most updates to the site lately seem to be to combat ad blockers instead of add new things.

The community went from being extremely open and excited about the site at the beginning to now begrudgingly having to use it since it has no competitor.

Props to you for engaging the community and keeping them on your side.

To be fair I do have ads as well, but it's just Adsense so there shouldn't be any of the bad stuff. Removing them comes with the Patreon membership too.

(Also, thanks!)

My side projects always come from personal needs, in each case I built it to solve my own problem before turning it in to a full product (summaries below). If you are going in with the sole intention of making money then make sure you know that there is a need for what you want to make and that you can get your project in front of people.

You don't need to use the latest and greatest tech, in fact, I would urge you don't. For front end you can stick to simple JQuery interactions, bootstrap theme and you'll be fine, depending on the market sector you go for they may not even care about the design, so long as it's functional.

Summary of my project and where they came from:

http://www.oneqstn.com, before launching our company's product I put the question "Where would you expect to buy the Radfan?" on the shop page and then 5 options. I expanded this on its own dedicated domain and 5 years later it's still ticking along. Very popular in the middle east for some reason.

http://www.stockcontrollerapp.com, I manage in-house production of my company's hardware product and after moving from an Excel spreadsheet to a Python script I decided to make a stock management app for small factories. Has made my work life much easier and is more appropriate for me than Unleashed.

http://www.taptimerapp.com, I didn't like any of the timer apps that I had tried so made my own mainly for use in the gym. All the others had too small touch targets, hard to see at a distance/without glasses on, or stopped music playing when the timer finished so I made an app that addressed these.

Thanks to the person who highlighted a typo on taptimer.com and sent in the contact form about it - no email address supplied so I'm thanking them here.

Found another one: Gestures Galour -> Galore

Thanks, I should probably be embarrassed but it's great they've been found so ...

The stock controller app states "Running our of component stock" which is probably supposed to be "Running out of component stock" in the component monitoring section.

Changed. Thank you - there was me thinking I'd not got any on that site :-)

Not sure if it was the "Beautifull", but it doesn't need two 'L's

Sadly it was another, I've fixed that one as well now though thanks

No problem!

The Radfan looks pretty ingenious and actually I could see a lot of use for it at my alma mater's dorms as they are all using radiators.

Great idea.. Let me know if you need help pushing/promoting it in Canada.

Thanks, once we've got Europe sorted we'll branch out to the last remaining countries that use steel panel radiators (turns out most countries don't pump hot water around their houses!).

> (turns out most countries don't pump hot water around their houses!)

At the risk of sounding ignorant, what's the alternative that other countries use? Simply electricity?

Basically, yep. Straight up electric heaters are very popular in some places (eg: Scandinavia, New Zealand), some kind of forced air heating or ventilation either on a room by room basis or from a central heat source (essentially air con that can heat and cool) or under floor heating (either electric or water based).

New technologies such as Passivhaus, ground source and air source heat pumps are also changing the heat landscape quite a bit (if on a small scale at the moment).

Central heating seems seriously overdue some innovation. Radiator's​ are so ugly, but what can you do? I've never known anyone have underfloor heating upstairs, though I'm not sure if there are technical reasons preventing that.

It astounds me that new developments still get white steel atrocities strapped to the walls, among other things like white plastic UX-disaster thermostats.

Agreed but the UK (assuming you are UK based) made such a hash of forced air the first time around that it's unlikely to ever see much uptake.

You can do electric underfloor upstairs but water is a no go upstairs unless you are concreting. The best balance is water based underfloor downstairs, underfloor electric in upstairs bathrooms + a heated towel rail (water or electric) and then water filled radiators upstairs that either run off a traditional boiler or an air source heat pump. You could use a ground source heat pump but, depending on how far north one is this can land up freezing the ground and creating a kind of localised permafrost unless you run the system backward in the summer. You could also use solr thermal if happy with balck panels on the roof.

Why not underfloor radiant on upper floors? This Old House tends to work high end projects, but I remembered watching this:


Very interesting, thank you for sharing your knowledge!

Most buildings in the US use warm air. This means the same ducts can be used for both heating and cooling. There will be a central gas (or less frequently, oil) furnace or a heat pump. I think that switch occurred in the 1950s. Older homes might have steam heat, or sometimes electric baseboard heaters.

Hot water is also pretty common.

I guess more so in areas where cooling is less needed.

Yeah although it tends to be the cast iron radiator style rather than the steel panel type that is ubiquitous in the UK. I think the US market for steel panel radiators is something like 50,000 units a year compared to the UK's 2-3 million panels annually.

Thanks, it's the best photo of me by about 1000 times.

If your goal is to make money, don't allow yourself to write a single line of code until you have talked to people not related to you (and not close friends with you), heard at least two of them independently describe facing the same business problem, and heard both of them say "yes, that would help!" (or better "yes, I would buy that!") in response to your proposed solution.

Finding a real business problem and a real solution is what matters. The tech is just an implementation detail you work out later.

On the other hand, I've had a lot of success showing people proofs of concept as a way to get the conversation going about various ideas I have. Sometimes people don't know what they want/need until they actually see a pre-alpha version in action.

Indeed. Most people don't know what is possible let alone what is easy / hard to develop.

The answer to everything in my previous workplace was "another excel sheet" when we had a proper Django application with relational integrity and data validation. Showing them that a few clicks on a web form was easier than what they were used to - copy pasting data from one web page, pasting it back into an excel, reformatting it and uploading it, followed by a ton of data validation errors.

>The tech is just an implementation detail you work out later.

Are so-called "tech" startups even about technology anymore? They are more and more focused on extracting value than innovating anything. Consider the focus on sales, marketing, advertising as of late and ask yourself if the greatest minds of this generation should be spending their efforts on making people buy stuff they don't need.

OP isn't looking to build the next great tech startup. Just a side project that makes money.

I have 2 SaaS. One that fit this advice and one that didn't. The one that did is a year old without a sale. The one that I had no one in mind that would pay for it was profitable from month one. However both were bigger weekend projects I wouldnt spend much more than that on it

Baffled why nobody has mentioned https://www.indiehackers.com/ yet.

If you're looking for some inspiration from others who've built revenue-generating side projects and businesses, I'd start here.

Start looking for people that complements your skills! I've just created a "HN Side Project Partner Search" google stylesheet for people seeking team mates or help building their side projects:


IMO building a team (2 or 3) is the best way to go...

Hopefully you'll find the idea useful (ideally this should be a website but I'm testing the waters with a simple stylesheet...)

Can I use the Google sheet to find partners for my open source project (no monetary benefit)?

Sure why not? just add a comment explaining all in the "additional info" column... ;)

So recursive :)

I gave a talk at Dropbox literally about how to start a small business without quitting your day job. A lot of people have told me it was helpful. You can watch it here: https://youtu.be/J8UwcyYT3z0.

A lot of my focus was boiling down what approaches could plausibly work and what pitfalls to avoid.

The "3 ways people usually fuck up" starting at 14:30 was great!

• Be boring

• Make money immediately

• Focus on distribution

+ Charge vs. opportunity cost (not cost to provide service)

That last one is pretty unique and could probably benefit many here with some additional input from you. I've heard that it makes sense to charge based on value added, but not much about how starting a small business needs to compete with the founder's missed alternatives.

Start to teach. Create a course in udemy on what you know (data processing or management). If creating a video course overwhelms you, create a text based course. I'm using softcover to do that. You can check here: https://www.jjude.com/softcover-in-docker/

Creating a course can get you the momentum. You can start there and branch out to other things.

This is great advice. Turn whatever you know right now into a learning opportunity for others. This is what we do at http://teacherr.com, we help others build an audience around their experience and monetize their following by selling information.

This is a great idea to gain experience building an audience, something tremendously valuable as you continue to build additional products.

I think the easiest thing is build what you need. So that if it failed to make money, you still have the tool you want.

I build https://noty.im that way, an monitoring tool that call me when my site is down.

Then I realized more thing is needed and I started to add more features and plan to publish launch soon.

I will say not to worry about scale and technical first. I learned it the hardway, Just get it out. No one will really care if it's broken or something doesn't owrk when you doesn't have lots of customer.

So to answer your questions:

1. Can you provide some ideas on where to start? Pick a technology stack you familiar with. Apply to Microsft BizSpark to take advantage of $150/monthly credit. Learn FE, it isn't that hard.

2. What are some simple things I can build by myself? Any idea?

I build `https://kolor.ml` in a sunday. It's very simple but I need it. So you can try to build some simple/small utility that helps people with their daily live such as: a tool to call people up in morning.

A tool to check if my site has expose some particular header such as `nginx`, `php version` etc and if found an old one or vulnerable one, alert.

Of course, lots of people already build those, but the point is just get started, along the way you will realize what you really want to build

List down 25 products/services you consume regularly. For each, ask whether a better version could be done. Yes? Do it.

Here's one case: the local/popular site to search for used cars sucks. It is slow, hard to see/compare all options, silly reloads the page on each added filter, filled with outdated listings, flooded with ads, and pic slides take forever (all of this on my slow phone over a slow 3g which is how most visitors must be using it). Furthermore, car dealers (who post most listings) complain about service and price. So I built the proverbial mvp and put it in the hands of my marketing partner (you won't sell a line of code if you do not partner with a person/company dedicated to push your stuff) who's already working on a deal with the used car dealers association, pitching a novel business plan, hopefully making some passive income for both of us.

It's not passive just because it's a side business.

To me this sounds boring, it may turn into a profitable business but it's nothing innovative. If you limit yourself to what you currently use and try to incrementally improve it, new ideas will rarely come out of that unless you approach the problem from a radically different angle. Good ideas are underrated in this regard.

Stackoverflow definitly fit that description, I wouldn't call it uninovative. Incremental changes often make all the difference.

Oh man I know this feel. I have been programming for startups for years and I have always had lots of ideas but never the mental commitment to finish anything.

I'm proud to say that very recently I did manage to complete a side project that I intend to launch in a week or so. It is a social site based on an idea I got from watching Japanese dramas.

What helped in my case was that my idea was really simple to build. I too have zero frontend / web design ability, so I just paid a guy from Craigslist to fix it up. Being able to bootstrap a finished product with a relatively small amount of time / money helps you get in that "closer" mentality instead of just playing around and never finishing.

I'd also suggest not worrying about making money at first. Just try to make a cool product or service. Money is a stressful and distracting motivator I find. Once you have something of value to offer and get some feedback from potential users, then you think more about pricing and marketing.

So in short, start small, don't be afraid to outsource and trade money for time, and don't worry about making a profit right away. That worked for me at least.

This is what I believe to be the formula: 1. Find a group of people who are interested in a subject. 2. Find out what, related to that subject, they want to buy. 3. Sell them that thing.

This is the approach I took with my book/videos at AngularOnRails.com, a "side project that makes money".

Another important thing is to surround yourself with people who have successfully done the thing you're trying to do.

I don't have much time right now but if you (or anybody) wants to talk about building side projects that make money, feel free to email me at jason@angularonrails.com. I'm not an expert but I know a hell of a lot more than I did 9 years ago when I started.

Yes, 100% this. Too many programmers build something and then try to sell it. And worse, when they get close to trying to sell it, they get nervous and go add more features, because writing code makes them feel safe.

But the real risk isn't that an imagined product can't be built. It's that the imagined product won't be bought when you build it.

So please, everybody, do what jasonswett says and start with the audience and their need. Verify that people will buy the thing before you build it. Because, and I'm speaking from experience here, it zero fun to build something and then discover that nobody cares.

I used my food side project as a way to learn new skills. I am still in the process of working on version 2.

The simplest way to start is to take a framework or system that has most of the basic parts ready for you to use.

Since you already know python, try to learn something like django and use Bootstrap with a CDN for your front end stuff.

I would recommend reading some of the posts on indiehackers.com to get an idea of how those people got started with an idea and how they got their first customers. Some do not even have any tech skills and just used wordpress or found someone to help them with the site. There is also a podcast for this that just got started that is excellent. The founder of indiehackers was a YC alumn named Courtland, he is a cool guy.

I chose to solve a problem that I personally encountered. If you cannot think of something, try picking something that you know requires lots of manual effort for some people. Then use some scripts from the book Running Lean to try to work out exactly what the problem is for those people.

Another great resource is OppsDaily which I love reading first thing in the morning. Cory sends out a problem someone has in a particular industry that needs to be solved. The criteria is that they must be willing to pay for it if someone responds. In many cases they will say how much they are willing to pay.

What are some simple things I can build by myself?

You're already successful at selling enterprise services to at least one company in management and backend data processing. Have you considered selling management and backend data processing advise, perhaps delivered in the form of a PDF or series of videos? This is stupendously valuable to tech companies if you meaningfully improve on what they have already and would allow you to sell to people who have expense accounts tied to, to steal a friend's phrase, the economic engine of the planet.

You don't need a commandingly high bar of programming sophistication to sell books. There exist services that can do all the heavy lifting for you. If you prefer knocking together a site to sell your own books, it is essentially an hour to get the minimum thing to charge money and ~2 days to get something which could plausibly be the kernel of an ongoing business.

> If you prefer knocking together a site to sell your own books, it is essentially an hour to get the minimum thing to charge money and ~2 days to get something which could plausibly be the kernel of an ongoing business.

But what about traffic? How do you get eyeballs to your book-selling microsite? Do you reach out to people who might be interested? Do you post on forums? Do you use paid advertising? I can guess it's a combination of various methods but the problem I have seen popping up often, at least with me, is reaching a meaningful conclusion.

If your landing page fails to gain meaningful traffic, what do you need to tweak? Your book pitch, the idea, or the marketing technique?

If it were me and I was coming at it from nothing I'd write, in order:

1) Minimal stake-in-the-Internet landing page. ("I'm writing a book on ActiveRecord optimization. I've worked for 3 years on AR optimization. For more details, [ ].")

2) ~3 blog posts about the topic at issue which each mention the forthcoming book and link to your landing page. Promote blog posts in the usual ways: tweet about them, send cold emails to folks whose audiences they are relevant to, post them in your usual community watering holes.

Checkpoint: if the blog posts go nowhere, don't write your book.

3) Write a minimalistic email drip campaign to send to folks who are on your list. Consider cross posting versions of the messages in it to your blog, depending on your appetite for doing this.

4) Write a proper landing page for your book.

5) Write your book.

6) Run a "launch sequence" for your book over 2~3 weeks prior to publishing your book.

7) Launch your book.

8) Get more serious about turning your book into a business via e.g. increasing acquisition, tuning the automated bookseller that is your email list, etc.

I've seen folks be really, really successful at this model on the strength of first books supported by hundreds of email subscribers and 3~5 blog posts. You do not need to be "Internet famous" to pull this off. (Anecdotally, most of my Internet buddies who do the meat-and-potatoes work here get $10k to $20k on the first book launch.)

To get "hundreds of emails" (let's say 500), with a ~1% conversion rate, you need 50,000 page views. How long to get to that point with just 3 blog post when you start from nothing?

Side projects that also do some public good might be a good avenue for you to consider. I built Walkstarter https://walkstarter.org a free walkathon fundraising platform for public schools as a side project. The experience is fantastic. I continue to develop my skills, e-meet new people, and the platform is on track to raise a very satisfying $1 million for schools.

I researched startups on IndieHackers.com and wrote an article:


The summary, well, sums it up pretty well I think:

> Listen to your friends, coworkers, and clients. Find something painful they mentioned that you also have first hand experience with, or that you’ve needed at your job. Package it up so it’s easy to use. Build an MVP, get feedback, iterate. Charge more than you think you should. Listen to your customers. Launch on ProductHunt. Market the hell out of it! Use Content Marketing, reach out to communities, forums, friends, and businesses with cold calls/emails. If you’ve built something great, word of mouth will do its magic. You can do this in your spare time, and probably should.

If you want a stable tech stack that'll stay the same for the new few years then check out Clojure + Clojurescipt. I'm still doing the same since I started a few years ago.

Regarding FE dev: I also have a technical Background (EE) and I hated any CSS (HTML isn't so bad). Though, flexbox is a life changer. It's actually enjoyable and I can get stuff done without spending hours on simple layout issues.

Can you elaborate on your tech stack? Do you develop for mobile, web, or both?

Both. CLJS is actually super fast, even on mobile (I test on lower power devices such as MOTO G4). The SPA is also pretty small if you keep dependencies out so it loads ~2-3s on a phone. That's with a large SPA with about 100+ React components.


- It's CLJS with Datascript (huge DB), Rum and nothing else. That way I keep my js-file small (currently 170kb gzip'ed).

- Server side it's Pedestal, Cassandra, Datomic.

The tooling has always been leiningen and that's stayed consistent. Libraries are still the same on the client side. cljs.core + closure library gives you 90% of what you'd ever need. I don't use a single NPM library (Except React). I don't follow the latest fads in js-land anymore. IMO it's an ideal stack that is fast, small, stable and has much more features than anything in JS world. I don't need the latest and greatest transpiler (ES6, 8, 1000 or whatnot) since I can just use a macro that does this for me. Figwheel is incredible and should warrant anybody in the JS world to consider switching just for that... Productivity is amazing.

As someone with many failed side projects, I can tell you that having a goal of making money is usually a bad thing. Like many other people have said, you can learn the skills. The hardest part of building a side project is finding the time and staying motivated for more than a few months.

So, pick something _you_ will use and, if you enjoy building/using it, so will others. Obviously think about ways to monetize it, but money should be more of a side-effect than a motivation.

I'm currently working on https://insomnia.rest, which makes around $800/mo right now. I started it as a side-project a couple years ago with no intention of making money. However, traffic grew organically and I eventually left my job to pursue it full-time.

In summary, find something you love to work on and let it consume you. If you do this, making $100/mo should come in no time. Have fun hacking!

I find the font colour/weight of "Available for free on Mac, Windows, and Linux" almost impossible to read. http://imgur.com/a/AUVxr

Oh my, that is awful. What OS are you running?

(Chrome 56.0.2924.87 (64-bit) / Ubuntu )

Pick someone else's niche making money, tweak it to make it your own, implement. Rinse, repeat until you achieve success.

There is something to be said for taking this route. Establishing a new market is really hard, expanding an existing market is much easier. I think its fair to say at this point First mover advantage does not necessarily lock up the market. There are just so many examples. The benefit is you can look at their mistakes. Find a small niche they've neglected, and start iterating.

Can't recall where I first heard it, but it was at least 25 years ago.

To be successful, find a successful person. Then do what they do.

The tough part is figuring out what's causal and what's just correlated.

I've made a Windows GUI for a powerful command line open source application that was for Linux. It makes a few thousands dollars a month. It did take many years of part time programming along with user feedback to get to that stage though.

Desktop and Windows might seem like a dying market but that's what people use at work and those are the people who can pay for things.

Do you sell it through the Microsoft Store or somewhere else?

Let me guess: a file converter or a PDF utility?

How did you do marketing?

May I ask what it was?

Where should I start? [...] where to start?

Building an audience + market validation before building a sideproject are the top starting priority for "a side project that makes money".

Start by building an audience (this can be as simple as interacting with professionals on Twitter and/or their own blogs, or even contributing here on HN!). I won't be able to determine what people want without asking people, and I will save a lot of wasted time by building something that I can guarantee people already want to pay for! For example: I intend to walk around my neighborhood with a survey to gauge interest in localized "technology disaster prevention" (aka initial setup of PC & phone backups with verification and increasingly annoying reminders) as a service. The first sideproject is the hardest because initially the audience is smallest but then can be re-used.

I hesitated to post this because most developers have an "if you build it, they will come" mentality (and a tendency to focus on technology/implementation details that they enjoy) that even I personally have a hard time overcoming myself. However, if the criteria is making money, building an audience is the right first step. Once the bare-minimum MVP functions, marketing makes all the difference on the "that makes money" part (see my list of random books to buy elsewhere in this thread)... and there is no point over-engineering something I can't convince anyone to use!

I realize I'm going out on a limb a bit to say that market validation before each sideproject comes second... I know of one example of someone who has built an audience while publicly initiating sideprojects without thorough market validation (focusing on technology instead -- note that this determination is 100% my own armchair quarterbacking with the benefit of hindsight); this person's projects appear to be faltering because of poor market fit. However, it hasn't stopped many from buying into this person's brand / other projects, and that audience is now following the next project even though initially it appears to be trending toward the same mistake!

PS. As mentioned elsewhere I could shortcut market validation by tracking down commercial products (already being paid for) that are getting a lot of visibility and addressing issues raised in bad reviews; however even when going this route I will still benefit greatly by having an audience to market the replacement.

Edit: switched to first person to preach to myself to get off my butt and start doing something!

I started a side project last year and it's been a fantastic experience. It's an opportunity to "scratch an itch" that the day job can't provide (which for me is doing whatever I want).

I had some frontend dev skills but didn't have the backend chops, so I hired someone on Upwork. I'm pretty busy at work so getting someone else involved is key (If I was by myself I'm not sure I would have stuck with it).

It's been a year and the app is doing about $3k/mo in revenue.

What's the app if you dont mind sharing. Or at least a vague idea of what it is

Firstly as other have said build something you would use and that interests you. It doesn't have to make money if it adds value to you personally or professionally (technical knowledge and hard life lessons learnt). Secondly just ship it, personal projects can easily become obsessions, always needing one more thing. I did this and even though I hate parts of my apps design it is getting good feedback.

I recently had a quiet period in my freelance work so spent the time learning React Native amongst other things. I applied this to an idea I have had rattling around in my head for a point tracking app for people on Slimming World. I spent 4 weeks developing this and then shipped it to iOS. In under 2 weeks it has grown to almost 10,000 registered users, is number 4 in the UK Lifestyle Free Apps chart (ahead of Slimming World's own app) and has made enough ad revenue to cover the only costs I have had (App Store membership costs). It is never going to bring in big money but the lessons I have learnt are priceless.

There is some harsh reality in your quote when you say the 4th highest UK Lifestyle app only just covers costs with ad revenue.

Listen to http://sidehustleschool.com - it's a story every day about someone who did just this.

I immediately exit websites which want to notify me and ask for my e-mail after 1 seconds I spend on that site. Bad marketing.

Agreed. I never saw it thanks to NoScript.

As someone who has done countless side projects (check them out here: http://www.reza.codes) I suggest taking out "making money" as a variable and focus on things that interest you or something that stems from a personal need.

The satisfaction you get from these side projects will come from being able to finish them as opposed to try and make money from them. When you try to take on a side project with the goal of making money, you'll end up sinking way too much time in marketing and reaching out to possible customers as opposed to building something (which I find to be more fun and rewarding).

And the time you spend on trying to get people to sign up or even try your product doesn't have the same returns in satisfaction as building it. (my opinion of course)

Look at oppsdaily.com. The developer posted here a while back. While there's no archive, there are daily postings concerning software needs. Some of the needs are unrelated to software, but most are. Could give you some ideas. (I have no relationship with the site or maker).

"The fallacy is that I have so much information about day to day job in my head that I have lost all creative juice."

I wonder if more programming is going to bring back those creative juices, perhaps you should think about doing something away from the keyboard instead?

You can start with what you already know and then build over it, or diversify, with time. The easiest way to monetize your knowledge to create a blog and link it up with social media (twitter, FB, youtube etc).

For example, you can write about management and backend data processing (what you do at work). This way, you don't have to learn something new to start your side project (except maybe how to manage a blog). The blog can be monetized via Ad networks like Adsense and Amazon affiliate program etc. As you grow, you may take in direct advertisers, sponsored content etc.

Spend a few days identifying problems people pay for, particularly easy problems that you can build yourself. The key is that the solution has to be fairly easy to build since you're not comfortable full-stack. Once you've chose a solution that already makes money solving a problem, build the same solution but position it for either a niche market or make a better product than competitors.

I would at minimum leverage bootstrap or semantic ui as your ui. Otherwise, hire someone to do the web interface for you.

My last advice is pursue traction in addition to building a product.

Get some inspiration from indie hackers.com . I have been wanting to do something similar and there are tons of great advice and wisdom from solo developers building their own businesses.

I dont think any advice is any use unless we know what you want.

First thing is you should decide why you're doing it. Is it to make money, or have fun, or enhance your current mgmt skills or to learn to code in a whole new area?

Only once you've decided that, then questions like "I don't have any frontend dev skills. Where should I start?" and "Should I outsource the website development part?" are possible to answer.

Before you do anything, I would recommend that you clear state a goal. Do you want to learn a new language? Do you want $100 a month in revenue. Do you want learn a little SEO?

Recently, I started on project for the sole purpose of learning more about nodejs and then in the second phase angular 2.

So a few months later I have a process that extracts data from amazon api and looks for price decreases in products. I learned quite a bit about nodejs and even about mysql database structures. So it was a good learning exercise.

Although I have accomplished my objective, I want to make money. This is the problem... Now I have learned what I needed, unfortunately I have learn more about seo, twitter api and facebook api to get users to visit my 200k webpages and make some money. So the side work winds up becoming a challenge and sometimes a burden, to continue to figure out how to reach your goal.

But when you reach your goal of $100 a month, then you will want more... So basically it never ends.


A simple way to make $100+/month is writing short books, articles, and giving away things like software and putting adsense ads on the site.

Do you have any experience with this?

Yes, feel free to email me at the address in my profile if I can help.

Surprised this has not been mentioned yet: Make sure your current employer is cool with side projects and moonlighting. Very few companies I've worked for are OK with it, even if done completely with personal equipment/time. You don't want to build the next Facebook in your free time and get fired over it or have your current employer claim IP ownership of it.

Side projects are so important to me that I would absolutely never accept a job at a company that has an issue with it. We're talking about something that I spend a huge % of my brain energy on, and you're telling me I can only use that brain energy on your thing? Pfft, get the f* out of here.

This is good advice; do you think most companies are against side projects, or is it just unlucky that you've worked for so few that are okay with it?

I guess it would surprise/disappoint me if the majority of companies disallow programming on the side.

This is something that makes California such a force for entrepreneurship. The law says you can build things in your spare time with your own equipment and it belongs to you.

I started holding talks for independent agency owners (www.agencyhackers.co.uk). It brings in about £200 a month, from an 'agency roundtable' that I run. That's not much obviously – it only just covers ConvertKit subscription and other SaaS software I need like Reply.io. But I think this is an audience I will be able to monetise with webinars, conferences etc.

I guess you could focus on building a side project that doesn't need front end skills. Your aim is to get a bit of satisfaction and money and prove you can do something like this, right? Building something simple you can start on right now, starting from where you are right now.

Two ideas:

You could build some kind of email integration, or something delivered over, or using, email. The email processing itself would be mostly backend stuff, you could template the emails with Django or even Python triple quote strings.

Or you could build an API of some sort. The only front end really needed for an API company ( such as Stripe or whatever ), is documentation. You can write your docs on one of those doc hosting platforms ( readthedocs might be one? I don't know much about it now ).

For your side project, it's probably important to pick some things you like and start doing them, rather than trying to make certain up front which things are going to make money.

If thousands of engineers are looking for something to build that others will pay for (but can't find it), then that tells me there is something fundamentally wrong with the way the economy works. Shouldn't it be the other way around? People who have a certain need express it, and engineers just pick one and work on it.

Nope. This is the realm of questionably and marginally viable products. Most experienced engineers are already working 40+ hours a week at high paying jobs, so we're talking about a the scraps of their spare time, and even that often comes with strings attached(experimental tech stacks, glacial delivery pace, etc.) Maybe add some time from marginal engineers(students, self taught no experience, overseas contractors). That's the supply. Demand often has no clue about tech, particularly custom software development, and often a very modest budget both in terms of cash and risk tolerance. That leads to two attempted solutions. The first is ODesk, which often fails and discourages further attempts. The second is entrepreneurship...engineers trying to find a problem that is solvable and felt by several hundred affected people/companies who they can actually manage to contact and sell to. This is a sales/marketing problem that most of us tend to ignore or fail at, especially those of us doing side projects where a major goal is playing with interesting tech. There's plenty of money being made in both solutions, but it's not the easy money people tend to think it is.

People often do not know what exactly they need and there is a disconnect between a need and the product that will satisfy the need.

No one "needs" Facebook but they do want a way to communicate and keep up with the people they love. Facebook is just one solution to that "need" but not the unique solution.

Needs exist in the world, but there needs to be an engineer to identify the need, to devise a solution that satisfies it, and to then make it available to the people who need it with an economic model that is sustainable and practical to everyone involved.

Often people need something, not badly but enough to want to pay for a solution. However, they come to sub-optimal situations the way they are. Sometimes it is too subtle to vocally warrant speaking out about. Sometimes they do speak about it, but it is lost in the fire-hose of societal conversation.

That does happen. It's called a job.

Someone asking this question is trying to start a business; not just looking for work as an engineer.

As a software engineer who has built a side project that more or less pays my Bay Area mortgage here is my advice:

Find an idea that plays to your strengths and build something with a friend/coworker who is a better frontend developer. A good partner is invaluable, and with this you can already see how.

Also, charge on day one imo.

A little side project of mine is a chrome extension to be able to read (or write) summaries of articles on Hacker News.

It is in alpha stage right now, but I'm curious to hear your thoughts about it: https://chrome.google.com/webstore/detail/mnmn/kepcdifhbfjep...

Screenshot of how it looks like: https://github.com/simonebrunozzi/MNMN/blob/master/screensho...

(note: the "+" button is only available for users that are "editors". If you try it out, your user doesn't have that enabled by default).

I wrote up my experiences with successfully shipping a side project here: https://medium.com/leaf-software/5-tips-for-actually-shippin...

Can the below code be sold to raise money?

import requests from bs4 import BeautifulSoup

url = "http://www.python.org" response = requests.get(url)

page = str(BeautifulSoup(response.content))

def getURL(page): """

    :param page: html of web page (here: Python home page) 
    :return: urls in that page 
    start_link = page.find("a href")
    if start_link == -1:
        return None, 0
    start_quote = page.find('"', start_link)
    end_quote = page.find('"', start_quote + 1)
    url = page[start_quote + 1: end_quote]
    return url, end_quote
while True: url, n = getURL(page) page = page[n:] if url: print(url) else: break

You can work with freelance companies [like https://indiez.io/] This will mean that you can pair up with someone who has complementary skills + not worry about getting the projects yourself.

Freelance === passive income, kaboooom

Find customers first. Then build what they want to buy.

Instead of building an MVP and then trying to sell it, there are people who suggest: 1-Think of an idea. 2-Make a simple landing page with a mockup or something. 3-Try to sell the product. And by selling the product I mean actually selling it (so people actually transferring you money). If you can achieve a given amount of sells in a given amount of time (important: set concrete goals with concrete timing), then you have validated your product. 4-Build a first version of your product. 5-Iterate.

Very simple to say, very difficult to do (I've never tried, but I would probably fail). But I think there would be ways to systematically apply steps 1-3 until you find the right product to work on.

Any thoughts?

What you describe is smoke testing. However, taking money and not having a product is considered fraud in the US. The way you get around this is that on the final confirmation page where you would normally take payment details you instead say the product is on backorder but that the person can enter their email to be notified when it's available. That'll give you the stats you need without running afoul of the law or dealing with payment gateways for payments you are not really accepting.

Yes, or Kickstarter.

The point is that to actually validate a product idea, potential customers should actually pay, or show a real interest in paying, for that product. Otherwise, it's not validated.

Disclaimer: never tried, but it's a typical advice I read in this kind of posts.

I think what you're describing would be referred to in court as fraud.

Really? Maybe the way I didn't write it didn't imply it, but I actually meant that you always had to make very clear that the product doesn't exist yet. You are selling the concept of something you are or you will be working on. If after a week you have managed to do only 1 sell, then return the money, say your product didn't receive enough interest, and try something else. However, if you manage to do 1 sell, you will probably manage to do more than 1. The first one is the difficult one.

If you achieve a decent amount of sales in a week, then build quickly the first version of your product.

> I actually meant that you always had to make very clear that the product doesn't exist yet.

That wasn't clear to me. It looked like you were proposing the sale of a nonexistent product. If you're openly and clearly stating that it's basically a preorder, then sure, that's fine. That sounds like a tough sale, though.

I was proposing the sale of a nonexistent product, but making clear that it doesn't (already) exist and telling properly how it will look like. Also, this product should be feasible to do in, say, less than a month.

So, it's kind of a preorder, but a cancellable (by the seller, obviously by the customer too) one.

It's a very tough sale, but precisely for that is a way of discarding business/side projects ideas in a massive way. If you can sell it before it exists, it means that there are people VERY interested in such a product, so you are on the way to success.

Disclaimer: it's very easy to speak and very difficult to put in practice, and I have never tried.

It'd be easier to just use kickstarter for that.


It's only a fraud if you take the money and never deliver it.

If you don't take the money or deliver within the stated parameters, how is it fraud?

Many business sell product they don't have. It's a standard practice in some businesses such as when you don't take delivery of the product as a seller, or when you use someone else's inventory, etc.

> If you don't take the money or deliver within the stated parameters, how is it fraud?

I already answered that in the comment you replied to: "If you're openly and clearly stating that it's basically a preorder, then sure, that's fine."

I read this more as a Kickstarter-style setup where you are pre-ordering the product, not that you actually promise them something you can't yet immediately deliver.

I think they meant they would return the money if they ended up not delivering the product.

But, you are on to something. I think this is what always bothered me about the "lean" approach: it almost feels like you're tempting yourself to create vaporware.

That isn't fraud; contracts are drawn up all of the time (with X amount needed up front) promising future work.

This is no different than buying a house that hasn't been built yet. People do it every day.

If you've never tried it and don't know how to make it work, why give that advice?

I'm not giving that advice. I'm saying that there are people who do.

My bad. I missed the part "there are people who suggest..".

Step 1: "Pay Me" button

You'll be amazed by how many ideas you never have to waste time building, if you put up a paywall and nobody pays.

Buffer has a good post on how they did this.


I did this once with a msi to exe converter idea (was getting a lot of traffic on a free page I set up). So I set up a form and after 2 months I got a $20 sale. So I decided to refund him and not to build it.

"Start Small, Stay Small: A Developers guide to launching a startup" by Rob Walling.

really got me thinking about best ways (ie most time efficient + value) to vet an idea before lifting a finger building.

> What are some simple things I can build by myself? Any ideas?

How about an iOS/Android game with optional micro-transactions?

In game development you can indulge and improve as many different skills as you want; graphics, sound, music, mathematics, networking, AI, UX design, character design, writing, storytelling, difficulty balancing, teaching..

An indie game project will give the freedom to be as creative as you want, and you get to enjoy your own product, but of course you don't have to arrive at a finished, marketable product to have fun building it.

Lot of money is moving around but you need first take a look to other stuff and and activities rather than coding/refcatoring.

Try see other people activities and have a look how much they spend for basic services you could improve. If you suck at UX/UI, give some money to someone else who could do it for you

what matters is how fast you can release something, do not speed time in courses or fancy optimisations

Also do not focus on a side project alone, let create 3 or 4 project a year

Before you get deeply into what you are going to sell, consider how you are going to market it. Marketing is a * * *! Successful marketing is harder than programming a product, much harder and more problematic. Just ask the folks trying to sell iOS apps when there are about 2 million apps on the market. Lining up a buyer for a custom product before you begin (as some here have suggested) sounds very attractive to me.

Yup instead of starting a side project you should acquire some tezos blockchain token and build IOT project on top of it when the network launch

You dont need frontend skills

What does acquiring the token do for you?

Check out https://www.meetup.com/Code-for-San-Francisco-Civic-Hack-Nig...

Find one similar in your region. If it does not exist, start one.

Coming up with an idea for a product that is useful and that people will pay for is more difficult than actually implementing one.

Ah yes, with a good idea, the rest is just "a simple matter of implementation."

Look at YCombinator startups, most fail to come up with a product that people will actually pay money for.

This proves that bad ideas exist, not that the idea is the most important or difficult part.

Maybe it was the right product, but the implementation was shoddy. We'll never know.

Build something that helps you in your everyday job. This can increase your motivation to improve it and keep working on it regularly. When it starts being useful, try to find another user to get feedback and increase feature. Before considering putting it in the wild, try to find a couple of hackers to anticipate potential security issues ;-)

You shouldn't start a side project for money but for something you like or believe in. Money will come after. (may be!)

My advice to all startups is that you should spend as much time thinking about how you are going to find & acquire customers as you do on your product. The same goes for cash-flow businesses & side-projects.

One approach is to decide which customers you can find the easiest and then ask them about their problems. Start there.

Instead of focusing on what you need to build, focus on what you want to fix.

Firstly do you have any code, processes, methods or scripts you have created as part of your job that saves your team time or money? Could you re-package them for sale?

I don't think that tech is a good starting point because your solution might not need to be software.

Build something that you yourself find useful (and that you can reasonably assume will be useful to other people too).

If you are weaker on the FE side from a project point of view keep your 'stack' really small, jQuery and Vue.js would get you a long way without really needing much front end knowledge, you can then gradually add in the other tools as you go (things like SASS/Less etc).

Definitely build something you personally need. Try to see what you can do without building a product. For example, site for a service that could eventually become a product in the future, but allows you to validate early on and figure out a business model prior to touching any code.

Try to look at what you do at your day-job from an outsider's perspective. What are some little things that to you seem trivial and obvious, but to an outsider would seem complex and foreign. There's opportunities there to package your knowledge into a tool or resource.

Example: i

I built a side project which can sustain me now - basically I did everything myself. I was the opposite of you. Front End development is my strong suit but I learned anything else I needed to. I took my time and created something I wanted to see.

What about a side project that isn't heavily related with tech? Which are your passions or hobbies outside work? Maybe one of them can lead you to a niche market. You can also share your professional knowledge. Do you like teaching or writing?

Anytime you start focusing on monetization of a side project, it stops being a side project and more of a "startup". Your mindset has to change around it entirely. You now have to consider marketing, your audience, and legality.

Another option might be looking into shopify's tutorials on drop shipping. https://www.shopify.com/guides/dropshipping

If you want to make money from your side project (or startup, or whatever) figure out how you're going to get customers before you do anything else. If you can't do that then you won't make a dime.

Find something simple and can solve the problem of few. Use bootstrap if you are not good at UI. It's simple yet powerful.

Regarding monetization you can use AdSense, donation button or charge monthly based on type of your product.

I recently came up with next problem, I did the ungly POC (proof of concept), but don't know how to properly advertise it to find to get responses (except for HN, reddit and a couple of same-type resources).

First, you need to turn your attitude around and be a lot more positive.

With respect to a project I'll let you in on a secret: if your service does something valuable, it doesn't have to look pretty.

Man my 2 cents is iterate in tiny tiny steps.

Whatever you do get it up there in an embarrassing state and keep making it better.

I wasted lots of time by wanting to do things right and so on.

How about we all band together and make one big side projecg. Pile on as many of us as we can and just keep evoloving it

It requires a little bit of frontend work, but I've had good luck with content websites based on public data sets.

> I have so much information about day to day job in my head that I have lost all creative juice

Although you ask great questions, this bit is what worries me. It doesn't feel good - it seems your job is taking too much energy from you. Have you thought about getting another, easier job?

Sounds like the issue isn't difficulty, but lack of inspiration. imho op should find a job they're more passionate about.

make games , html/mobile

Great topic. We sound a lot alike. I work in a different sector, but I'm also now squarely in management and have been for a while, and my previous expertise was data engineering and infrastructure. Started with zero front end ability, and also not much Python either since I'm in the size of company and industry that still accomplishes most data work in SAS, and what it can't, Informatica and DataStage. Here's where I'm at, and so as to not bury the lede, I'm not making money yet but I found satisfaction in just spending some time each week on my projects -

1. If you know python, you can probably make a pretty natural jump to Flask. I didn't know Python, but I could program in a handful of other languages, so I figured I'd pick it up as a useful tool anyway. You may like this tutorial:


I'd say I really started learning when I got to the stage on authentication. The reason is that this tutorial implements OpenID, which isn't very common anymore, so I went off and implemented OAuth instead - heavily googling and scavenging, but ultimately having to piece together something that worked myself. I learned a lot that afternoon.

You could do this with any framework and there are tons of them. I chose Python and Flask over a Javascript-based framework because learning Python in parallel would be useful to me in data engineering, even though I don't write code for a living anymore.

2. As others have said, time commitment is the biggest issue. Figure out what you can give this, and scope appropriately.

3. I haven't done this because I'm too much of a completionist to pull the trigger, but get your MVP out there and build off of it. For me, I've decided I'm pretty happy just spending time on the project, even if no one else has seen it.

4. Bootstrap is my friend, it can be yours too. I have never been a strong visual person. I like words on a page. I have no eye for what makes a good visual and what doesn't, which has been my biggest developmental item when I moved into an executive role last year. All that said, Bootstrap is awesome and makes it a lot easier to build good looking websites. I started off here and built out a static website for an idea I'd had, and am now circling back to build the things I want to be dynamic in Flask.

5. There are a lot of choices out there. Unless you're developing bleeding edge, and I may get flamed for this, most of the choices really don't matter that much. I chose Python+Flask+Bootstrap because I liked each individually, it seemed like something I could work with, and NOT because I decided they were objectively better than Node, Angular, Express, React, or anything else that I haven't touched. I also sort of like that there isn't a new Python web framework each day, so diving into Flask seems like a more stable investment of my time. I'm sure there are drawbacks.

6. When it all starts to come together, the real, revenue generating idea might be to address pain points in your day job. My sector is insurance. I know a lot about certain operational functions. Eventually, I could solve some of those and build a business around it, I tell myself. You probably have some specialized domain knowledge as well. Consider that.

Good luck, and have fun. Like I said, I'm happier just for having taken on the challenge. If I ever make a dollar, that'd be good too, but less important than I initially thought.

Zapraszam również na mój blog https://sztukateriaelewacyjnablog.wordpress.com/

Here is an angle on this:

The goal is to stick to something until completion.

Phsychologically this is easier if you are enjoying it.

So choose a project and a tech stack you can really get into.

Scratch your own itch so that even if no one else uses it or buys it are least you can.

Look at the non-financial upsides, so that if you make zero or little money you can still feel proud: For example - learning new skills that might help you get a raise, learning marketing so that your next project is more likely to be successful, etc.

A word of warning - once you have spent some time on a side project the shine will wear off and it will feel like a job - and you have to find ways to keep yourself motivated when you could literally just go an watch TV instead on your time off.

My advise: don't focus so much on how to build it, focus on how to grow it... REALLY!

I've done so many complex projects that at the end I couldn't sell, that's frustrating... please hear me: figure out first how to sell it (or at least get good traffic to a crappy wordpress site), then build a very crappy version and then improve it over time.

I read recently this, and I think is gold: https://www.blackhatworld.com/seo/making-money-online-it-all...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact