12 Great Ideas for Programming Projects That People Will Use

Learn, build, have fun, repeat.

Apr 20, 2020 · 11 min read
Post cover image
Photo by Dayne Topkin on Unsplash

This is a dangerous article for you to read. There's a real chance that nothing good will come out of it once you are finished. This is a half-decent list of side project ideas, and like many times before this, you will be offered a choice at the end.

Will you start one or not?

Did more choices make you more confused? That will make it harder to start. You decided on one, but don't see how you can do it? That will make it harder to start. You are working on one already, and want to abandon it, so you can start another? That will make it harder to finish what you started. You got another proof of how many people have cool side projects out there while you don't? That is Fear Of Missing Out®©™, and you guessed it, it can depress the best of us and will make it harder to start.

Like I said, a chance of nothing good, but just a chance. Because there's also a chance of nothing terrible. A chance of you finishing this article and immediately create a git repository with one of these ideas as the title. A chance where you begin a journey of learning, fun, solving needs, and maybe even profit.

This is part 2, of my Side Projects Trilogy. On part 1, I talked about How to Choose your Next Side Project, so that chances of getting the best out of your side project mount on your favor.

And on part III, we conclude this trilogy with a collection of tips and strategies to increase your chances of getting the most out of your side projects: 8 Actionable Strategies to Give an Extra Boost to Your Side Projects.

I also published 8 (more) Great Ideas for Programming Projects That People Will Use, so if you like this article you are in for a treat with the second part.

Without further ado, here's a collection of hand-picked side project ideas, inspired by other articles before this, my experience, and what I've been reflecting on what makes a great programming project idea.


Digest of favorite twitter accounts

Digest of twitter accounts

Most social media platforms have two things in common:

  • an algorithm to show you what they think you want to see
  • they have posts that you actually want to see buried beneath uninteresting content

Why not transform the contributions of your top twitter accounts into a daily/weekly digest? This way you guarantee that you'll never lose those insightful posts, with the bonus it's you that decide when you will get to them. Maybe you can take the next step and send it automatically to your email. Or let other users curate and share their lists. Twitter is just an example, you can do it for Instagram, Facebook, or even the top posts of your favorite subreddits.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐⭐

Ops skills: ⭐⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳

Inspiration: Mailbrew


Portfolio website

Portfolio website

A project with compound interest. You will get the benefits during and after its finished. As a programmer you get to hone your frontend skills, maybe try a new CSS or JS framework. You can use a template, or try your hand in design and put your personality into it. Once done, it's your own place on the Internet, to show what you are up to, what's interesting in the world, how you can help people and organizations. You will even have a special place to display your side projects!

One of my favorite things about this idea is how incremental it can be. Go ahead, create a landing page and deploy it somewhere. It's live and it already counts. Next week add a "Start Here", in a month maybe your resume, and whenever you finish another side project you can open that gallery I just mentioned. As I said, it keeps getting better and better.

Backend skills: ⭐⭐

Frontend skills: ⭐⭐⭐

Ops skills: ⭐

Complexity: 🤯

Profitability chances: 💳

Inspiration: Nat Eliason, Devon Stank, Steph Smith, Dan Vega, Jim Ramsden


Weather app

Weather app

Everyone has a favorite weather app. The one that you will build will have your unique touch and, I'm willing to bet, will be the favorite of someone else. The weather data is widely available in several APIs, but I think the secret here will be how you chose to present it; it's where you will make the biggest difference.

You can make it a mobile app or just a web app, depending on your objectives, but I would say that part of the challenge would be to, independently how you choose to start, leave the door open for growing in one of those directions.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐⭐⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳💳

Inspiration: Overdrop Weather, Today Weather, Windy


Automate something

Automate

What in 2020 still requires your manual intervention? No matter your programming skills there's an automation that you can build to match your skills and present you a worthy challenge. Take inspiration in Al Sweigart's, fabulous, Automate the Boring Stuff with Python. Pick one chapter that interests you the most, either in theme or because you are messing with related technologies, and complete one of the projects at the end of the it.

Set a text message alert for when something on your wishlist gets a discount. Automatically back up your knowledge base. Generate the most common file structure of your projects from a single command. Track your favorite writers and automatically add their new articles to your reading list. I think you will come up with better ideas than these, but the principle is simple, find something that takes you time, and have a machine do it.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐

Ops skills: ⭐⭐⭐

Complexity: 🤯🤯

Profitability chances: 💳💳💳

Inspiration: How I Eat For Free in NYC Using Python, Automation, Artificial Intelligence, and Instagram


Twitter bot

Twitter bot

Like the "digest" idea, this can be applied to a majority of social networks where valuable contributions can earn you Internet points. Apply for a Twitter developer account, roam through Twitter API, find the endpoint that allows you to send tweets and hook that up to a list of interesting facts, quotes or Anthony Jeselnik jokes.

There's the reactive kind of bots too. When it's mentioned or certain words are tweeted, your bot can jump in and provide something useful to whoever tweeted in the first place. Maybe you can do one of each kind and have them compete in popularity.

Backend skills: ⭐⭐

Frontend skills: ⭐

Ops skills: ⭐⭐⭐⭐

Complexity: 🤯🤯

Profitability chances: 💳

Inspiration: Nassim Nicholas Taleb Bot (active bot), Thread Reader App (reactive bot)


Niche job board

Job board

This is your way to help companies connect with job candidates in fields that maybe are not well covered by existing job boards. Focusing on a niche will provide two benefits for this side project:

  • Reducing the scope of the domain you are serving
  • Easier to identify and understand potential customers for your product.

Another aspect of this idea, more than any other in this list, is how you will have to handle two different personas using your product: recruiters, and candidates. This will make for some interesting challenges on UX design, and, for example, on the backend on how you decide to manage different roles and permissions.

I also like this one for how clear it can be monetized. I'm not saying it will be easy, but the path seems more obvious than in most.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳💳

Inspiration: Key Values, A Digital Accessibility Job Board, idealist


Quiz game about a favorite topic

Twitter bot

This is the first of two game-related ideas on this list. Who doesn't like to test his trivia skills? Yeah, you probably know a guy who doesn't, but everyone else still has loads of fun with this kind of game. Again, I encourage you to focus on a niche. It will be easier to find questions + answers and find the public for the topic you chose.

You will also have other kinds of decisions to make, not present in other ideas that I suggest. If you want to deal with single and/or multiplayer, with sync or async play. What about rewards? How to manage a leaderboard and ways to keeps questions fresh. Possibilities are endless, don't let them drown you.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳

Inspiration: Quiz game for Android (GitHub)


Deal finder

Deal finder

I have a special feeling for this kind of product. My latest side project, Win-Win was just that. I love board games and finding good deals on them. I hooked up to Boardgamegeek API, and now I can fetch all prices for the games I'm interested in. Then it just simple math, and finding items that are way below the average price. The feeling of pouncing on a game that is 70% below the median price, minutes after being posted, is incredible. The hope that others would think the same was what motivated me the most.

Think about other marketplaces that you use or types of products that are accessible with APIs and work with those. Even without complex math, you can compare items of the same type for the biggest discount or the lowest price per unit.

Backend skills: ⭐⭐⭐⭐

Frontend skills: ⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳💳💳💳

Inspiration: UnitPrice.org, diskprices.com, Scott's Cheap Flights


Recommendation system

Recommendation system

When was the last time you had to choose between alternatives in a domain you are not an expert? Like last time you were at that favorite hobby store, of your significant other, that you know nothing about? Yup, we've all been there.

Focus on one domain, identify what are the meaningful items that you can recommend, and then start with a basic rule that returns some of those items based on an input. Later you can evolve your system to order recommendations, accept different types of input, or even let users inform your model based on the success of the recommendation.

Backend skills: ⭐⭐⭐⭐⭐

Frontend skills: ⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯🤯🤯

Profitability chances: 💳💳💳

Inspiration: Recommend.Games, Movie Recommendation System (GitHub)


Gamified habit tracker

Habit tracker

The habit tracker is a regular in these articles. Only surpassed by the todo app and the chat app, which as we all know, are required by law to make an appearance in all lists. Check and check.

Here you give it an extra twist, with features like:

  • Give perks and achievements to streaks completed.
  • Unlock app features as streaks increase.
  • Create a Battle Royale style competition, with all users who want to do X (read 20 pages a day for example), until only one remains.
  • Create quests where users must follow a given habit formation process

Our app must provide a layer of incentives on top of all others our users might already have for adopting their new habits. This is what will separate it from the majority of all other habit trackers.

Backend skills: ⭐⭐⭐

Frontend skills: ⭐⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯

Profitability chances: 💳💳💳

Inspiration: Habitica


"Clone" one of your most used apps BUT add the one thing you miss the most

Clone with one thing different

I'm not suggesting to commit some kind of trademark violation or be just another copycat with no soul. The thing you add to your solution must be enough to make it unique and worth existing by itself. Don't just clone a Kanban board and have it play the "Eye Of The Tiger" every time you pick a new...wait. That's an awesome idea!

Now, seriously, you probably have some 5 or 10 things that drive you crazy in your favorite/most used apps. Make that feature the reason of being of your project. If the pain is big enough to create a new project because of it, it will also make you the right person to understand what should be done about it.

Don't forget to peer into the support forums, subreddits, and twitter of these products. These are places where suggestions, pains and feature requests are most abundant. Someone can provide that first spark you need, someone, probably, willing to pay for it.

Backend skills: ⭐⭐⭐⭐

Frontend skills: ⭐⭐⭐⭐

Ops skills: ⭐⭐⭐

Complexity: 🤯🤯🤯🤯

Profitability chances: 💳💳💳

Inspiration: This one is on you 😄


Choose Your Own Adventure game

Choose Your Own Adventure game

This is a fantastic idea if you also want to exercise your writer's muscles. Dream of a story, don't let the stereotypes of fantasy genre limit you for this type of game and be prepared to throw everything at the player. The player will throw everything at you in return, so be sure to sanitize those inputs. Will you allow just commands through pressed keys, words, or full-blown text? Again, different levels of challenges and technologies to put into place. How will you store the text for the events? Will it have any kind of art?

For the player, will you be able to personalize its attributes? Will those attributes affect the game or just serve cosmetic effects? What about using the same character between games? Or share it with other players?

Backend skills: ⭐⭐⭐⭐⭐

Frontend skills: ⭐⭐⭐

Ops skills: ⭐⭐

Complexity: 🤯🤯🤯🤯

Profitability chances: 💳

Inspiration: A Dark Room, Magium


Wrap up

I want to start by clarifying the ratings I gave to each idea. Even though they are subjective to my experiences as a developer and how I imagined the final result, I tried to make them more of a metric of comparison between ideas. A complexity level of 🤯🤯🤯 only means the project should be of middle complexity considering all ideas in this article.

With that out of the way, I sure hope you don't take the fact that these are 12 ideas and build one each month of the year. That would be crazy. And awesome. Not sure if more awesome than crazy, but, definitely worthy of my admiration. Even if you just start one of these it would make my day to hear about it.

So, I challenge you again. Will you start one?

“Whatever you can do or dream you can, begin it; Boldness has genius, power and magic in it.” - Johann Goethe

Take that first, tiny, step. You are more than ready.


The illustrations on this post are awesome and available at manypixels.



If you enjoyed this, there are many others to come.

This Week's Worth preamble

This is my weekly newsletter.

You should consider be part of it to stay on top of new articles and other stuff I have yet to figure out. Yup, I'm improvising here.