ROUNDTABLES ★ 602 upvotes 2017

Ask HN: Building a side project that makes money. Where to start?

The Founder's Submission

Direct narrative and submission text authored by @ihoys on Hacker News:

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?

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

An open Ask HN community consultation from 2017 where @ihoys convened hundreds of developers and bootstrappers to share real experiences, hard numbers, and tactics.

Core Principles for Independent Builders:
1
Participants share raw revenue figures, churn rates, and stack decisions that corporate PR never publishes.
2
Recurring answers reveal that distribution, not coding skill, is almost universally the rate-limiting step in developer businesses.
3
Practical recommendations on bookkeeping, payment gateways (Stripe vs Paddle), and freelance-to-product transitions.
Community Debate Themes:

Hundreds of active indie hackers contributed case studies, pricing heuristics, and pitfalls to avoid when moonlighting on side projects.

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (248 total discussions):

SM @SmellTheGlove Peer Contributor

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:

https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

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.

J_ @j_s Peer Contributor

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!

SI @simonbarker87 Peer Contributor

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.

KU @kureikain Peer Contributor

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

TM @tmaly Peer Contributor

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.

HISTORICAL ERA Cloud & Mobile Era (2014–2019)
COMMUNITY SCORE ★ 602 points
TOTAL DISCUSSIONS 248 comments
TOPICS & TECH STACK: