Need Inspiration? Here Are 5 Challenging App Ideas You Can Start Building Today
Sharpen your skills with these coding challenges
Like with any other skill, coding can be mastered with dedication, perseverance, and hard work. Coding is like a muscle that needs to be constantly trained.
This piece assumes you’re familiar with coding but lack the creative ideas on what to code. We coders often have a strong urge to code but lack ideas on what to build. Use this piece as a pointer in the right direction, and try to complete all challenges in a month.
Without any further delay, here are the coding challenges to sharpen your coding skills.
Customizable Rich-Text Editor
A rich-text editor’s aim is to reduce the effort for users trying to express their formatting as valid HTML markup. A rich text editor gives users the option to format their text.
Everyone has used a rich-text editor at some point, so why not build one?
Here are some of the most used rich-text editors. If you’re feeling curious about how to build a rich-text editor, I wrote a comprehensive tutorial a while back — you can find it here.
Here’s what you’ll learn by building a rich-text editor
- How to format paragraphs, sentences, and code as valid HTML
- How to listen to events and fire off actions based on the events
- User accessibility — e.g, how to use the keyboard with the editor controllers
CPU Activity Monitor
If you like hardware, this one is for you. Buy an external motherboard, like Uno R3, or, if you can, monitor the CPU usage of your current devices, such as a laptop or desktop computer.
A central processing unit (CPU) is essential to every electronic device. It’s the brain of a computer, if you will. It’s essential to see the working load of your CPU in order to make sure it’s not overworked, overheated, etc.
Here’s what you’ll learn by building a CPU Activity Monitor
- How to connect to your Arduino prototyping CPU (pick any CPU really)
- How to write low-level code, like C or C++
- How to build a user interface that communicates to the CPU and displays all the critical information
Apple Music Clone
Who doesn’t like music? Why not build your own music player to understand how things work under the hood? There’s a lot going under the hood of any modern music streaming service.
You can either build a web or desktop version. The choice is yours — pick the one that seems the most appealing to you. If you want to practice your web development skills, do a web version. If you want to practice building native-desktop applications, build the desktop version instead.
Here’s what you’ll learn by building an Apple Music Clone
- How to fetch songs from the Apple Music API to play
- How to pause, play the next song, and play the previous song
- How to handle volume changes
- Navigating views between radio, albums, and songs
Find the Apple Music API here.
Knowing your way around dates is key to being a great developer. Any modestly complicated application involves dates in some way or another. Building your own calendar is a great way to familiarise yourself with the way time zones and dates work.
You can pick any calendar you like. I’d recommend the Google or Apple calendar since they both have clean UIs.
Here’s what you’ll learn by building a calendar application
- How to deal with different dates and time zones
- How users can book activities to a specific time slot
- Displaying notifications and reminders when an event is about to begin
Display and filter GitHub Repositories
GitHub lets you display and filter your public and private repositories. Boost your portfolio by building a version of your own. GitHub has a REST and the GraphQL API to get you started — choose the one you prefer more.
Here’s what you’ll learn by building a GitHub repositories page
- How to fetch repositories from the GitHub API
- How to filter repositories based on keywords, stars, and the programming language
- How to create a layout with HTML and styling/ positioning elements with CSS
Thanks for reading! Remember, getting good at coding requires you to put the work in.
Building as many applications as possible is one of the best, if not the best, ways to get better at coding. Happy coding!