There are a lot of great things about knowing how to code.
It's challenging, empowering, and very in demand in the job market right now. But personally, I think one of the most underrated benefits is the freedom of opportunity you have when it comes to career path.
Like with many desk jobs, you can go the traditional route and work for a company—big or small—in a whole range of sectors. Or you can freelance and take on projects for clients. Or you can make money building your own products.
What do I mean by that?
I'm not talking about starting a company where you try to raise VC money and grow and scale as fast as possible (though of course that is also an option if you wanted to do that).
I mean much smaller projects: things you can build on your own, in just a few days or weeks. But, crucially, coding projects that can earn money—either as a side hustle, second income, or maybe even as your full-time job one day.
The concept of indie hackers or 'solopreneurs'—basically individual developers coding and selling their own products—isn't new, but I'm always surprised more developers don't try to use their skills in this way.
Of course, there's a lot more that goes into building a successful SaaS product than just knowing how to code (think business, product, design, sales, marketing...), but that's good news for many developers from non-traditional backgrounds. You could have a significant advantage here if you already have some of these skills from other careers.
Money-making coding project ideas
If you're curious about building your own piece of software, monetizing your existing coding side projects, or just looking for ways to make extra money as a software developer, here's my list of ideas (along with what technical skills you need to get started with each of them).
1. Build an iOS/Android app
Mobile apps are often one of the first things people think of when they imagine building their own products.
Google Play and the Apple App Store are the biggest app marketplaces, with 2.7 million and 1.8 million available apps respectively. So there's a lot of competition out there by now, and with good reason. According to Sensor Tower:
Global app revenue grew 32% year-over-year in Q3 2020 to more than $29 billion.
But there are still gaps to be found, plus new opportunities popping up all the time. And bear in mind that although there are a lot of apps in the app stores, the vast majority of these are not necessarily high quality. So if you have an idea that solves a problem in a unique way (or does so better than the competition) and can execute on it flawlessly, it's still possible to make money with an iOS or Android app.
How do you build a mobile app?
If you're solely interested in building for a single platform (either iOS or Android), I would focus on learning the technology native to that platform.
Udacity's nanodegrees are a particularly good choice here, as they're practical and project based, long and thorough enough to be useful, and regularly updated so you'll learn the technologies actually used by industry professionals today:
If you're not quite ready to make a commitment yet, they also have free introductory courses that will still be relevant for each path if you decide you want more depth in future.
2. Monetize an open source project
Wait. Doesn't open source mean free? Well, usually. But there are ways developers can (and do) earn money from successful open source projects.
This is probably the most difficult option on this list to earn meaningful amounts from, because you still have to create an open source project that enough people will actually discover, use and value—which is no small task, even without monetization.
But it can be done:
From $0 to $20,145.92 in 2 months with a side project— Zeno Rocha 🔥 (@zenorocha) April 12, 2020
A thread... 👇 pic.twitter.com/8Sb9ZprsQT
If you're curious about the various ways you could monetize an open source project (maybe you have a successful one already!) then here some common methods of open source monetization:
- Donation buttons: Services like Buy Me a Coffee let you put a button in your project's README, which gives people a way to support you through donations or tips. If someone gets value from your project, they can 'buy you a coffee' at a dollar amount you determine. The payouts are processed using PayPal or Stripe. You likely won't make a lot with this method, but it is a quick and effortless way to earn a few dollars from your work that pretty much anyone can try.
- GitHub Sponsors: With GitHub Sponsors, anyone with a GitHub account can sponsor anyone with a sponsored developer profile through a recurring monthly payment. You can choose from multiple sponsorship tiers, and set monthly payment amounts and benefits. GitHub even cover payment processing fees, which means you get to keep 100% of the money.
- Licenses/pro version: This is basically the concept of a freemium pricing model, but applied to open source software. So you have a basic version (which is free), but also a pro version with extra features, for which you charge a fee. Alternatively, you have one version of your software, and keep it free for individuals/non-commercial use, but sell licences to companies for commercial applications.
- Ads: If you have enough traffic, you could earn money by putting ads on your project's site, and displaying them to visitors. I'm including this last because unfortunately, this traffic would need to be in the thousands of visitors per month at a minimum to earn just a few dollars. For this reason, ads likely won't be worth it for the majority of smaller projects. If you did have such traffic, perhaps on a blog, some developer-focused options for ad platforms are Carbon and EthicalAds.
3. Build a premium theme or template
If you happen to have skills in design as well as front-end development, building and selling themes or website templates can be a great way to earn money through coding.
The biggest market for themes is WordPress, which is no surprise considering their staggering market share. According to W3Techs:
WordPress powers 37% of all the websites on the internet, including those without a content management system (CMS).
Where can you sell website themes?
Some notable theme marketplaces are ThemeForest and TemplateMonster. By selling your theme on a marketplace, you get exposure to their traffic and the convenience of someone else handling the payment processing—in exchange for a cut of the sale price.
Premium themes on these sites are generally priced in the range of $30-70. So even though you won't receive the full amount after the marketplace cut, it still works out pretty well given that popular themes sell thousands of times. That's a huge benefit: a theme is something you can build once, and then sell as many times as you like.
So what's the catch?
As you'll see if you look at any theme marketplace, or Google things like 'WordPress themes', the competition is fierce. Not only are there thousands of other premium themes for every platform; you're also competing against the many free options.
How can you get traction as a new theme developer?
It's tricky, but not impossible. Here are a few things you can do to increase your chances of success:
- Target a very specific market segment: If you build something generic, it will be impossible to stand out. If your theme is similar to what people can already get in a free theme, why would they buy your premium one?
- Build for the smaller platforms: Smaller platforms have a smaller audience, but also less competition, which can make it easier to get started. Maybe there's a theme that's selling well for Shopify, but no equivalent for WooCommerce or BigCommerce. Could you build something similar?
- Look for gaps in what's available: Is there a unique feature (or combination of features) you could offer that no one's really including in other themes?
- Get creative with your marketing: You likely won't be able to just put a theme up for sale and expect people to find it. Do you already have an audience you could promote it to? Great! If not, you could consider some well-targeted paid advertising to get your first customers, or try reaching out to relevant blogs to see if they would feature your theme.
What skills do you need to build website themes?
You'll also want to learn about accessibility, which is becoming an increasingly important topic in web development. If you're selling a theme which will be interacted with by the end users of many different sites, making it accessible is non-negotiable.
Pro tip: If you know React, Frontity is an open source React framework specifically designed for creating WordPress themes.
As well as the technical skills for the initial build, you'll also need to factor in time for ongoing maintenance, updates and bugfixes, and possibly offer support to help the people who buy your theme get it working.
4. Build a Chrome extension
If you're a Chrome (or Brave) user, you're probably familiar with the Chrome Web Store. But if not:
Extensions are small software programs that customize the browsing experience. They enable users to tailor Chrome functionality and behavior to individual needs or preferences.
There's no shortage of free tutorials around online, but you can't go wrong with the official getting started guide.
How do you monetize a Chrome extension?
You have a few options when it comes to charging users for your Chrome extention. These methods of monetization are generally the same ones you'll see used by many SaaS products:
- One-time charge: Users pay once to gain access to your app.
- Subscription: Users pay a recurring fee, usually either monthly or annually.
- In-app payments: Users install your extension for free, but can pay for extras during use. Think buying special items in a game, or accessing additional upgrade features.
Whatever you choose, it's generally a good idea to offer a limited free version or trial with an upgrade path to the paid version, as this significantly lowers the barrier to entry for installation.
The Chrome Web Store used to offer a payments system as a way for developers to charge for their extensions, but that is now deprecated. That means you'll have to go with another payments processor. Stripe is a popular option.
5. Build a Shopify app
Shopify is a commerce platform that allows anyone to set up an online store and sell their products. It provides the core functionality people need to get a site up and running, but there are many other features, functions and integrations that are provided by a thriving app ecosystem.
In fact, 87% of Shopify entrepreneurs say they rely on apps to run their business.
What is a Shopify app?
Essentially, a Shopify app is a standalone web application that adds extra functionality to a store using the Shopify APIs.
Shopify apps are a good way to reach a B2B market in a relatively standardized environment: there are forums and Facebook groups where merchants discuss problems they have, the Shopify App Store provides a platform for you to list and advertise your app, and monetization is an integrated process as Shopify provides a Billing API.
How do you build a Shopify app?
How do you monetize Shopify apps?
You can use the Billing API to charge for your app in three different ways: one-time, usage-based, and recurring charges. You keep 80% of the revenue.
The good news is:
84% of apps have earned revenue on the Shopify App Store, and 48% of the Shopify App Store’s top 25 grossing apps were published in the last 2 years.
Is there competition? Yes. But potentially less than with other options. In any case, identifying a real problem that is currently not solved (or not solved well) by existing solutions, is still going to be key.
6. Build an Amazon Alexa skill
Voice is a relatively new addition to the app landscape, but with the rise of smart speakers and advancements in voice-activated technology, demand for apps isn't going away any time soon.
Alexa is Amazon’s cloud-based voice service available on hundreds of millions of devices. Skills are like apps for Alexa, enabling customers to engage with your content or services naturally with voice. There are many different types of skills, but common themes include games, education, health and fitness, productivity, and smart home integration.
How do you build an Amazon Alexa Skill?
Alexa skills are a great choice for back-end developers, because of course, there's no UI or visual design required.
How do you monetize an Amazon Alexa Skill?
There are two main methods: in-skill purchasing and Alexa Developer Rewards.
This is the same model seen in many other apps, where you offer paid features to existing users once they're already interacting with your skill. To be successful with this, you have to decide how/when to offer these upgrades as part of the experience—and figure out how best to make them enticing to users.
In some cases, developers have been able to earn impressive amounts with this method:
Alexa Developer Rewards
Alexa Developer Rewards is different, in that it's a revenue share model. You don't have to do anything except create a skill in an eligible category. Then, every month, Amazon selects skills to be rewarded from among the top performing custom skills in the eligible categories based on customer engagement. If your skill qualifies, you'll get paid automatically.