September 15, 2022
Side projects provide developers a low-pressure, learning focused environment to tinker with new technologies and ideas, but they can also play a key role in job applications.
From an employer’s perspective, a candidate’s side projects demonstrate motivation, problem-solving skills, and technical expertise. They can be products of overnight hackathons (not super interesting), or they can be the result of months of hard work learning and working with new frameworks (much more impressive).
Here are 5 hand-picked ideas we think will wow employers:
Health and nutrition is very much mainstream, and a food diary is a great way to track eating habits and manage nutrition. It’s a great project if you want exposure to mobile app and backend development.
The most basic version of a food diary is a simple iOS and/or Android app that stores user-input food items in local data storage. No servers, no nutrition, everything is done on-device. You can either provide a predefined list of food items for users to choose from or simply put in a text field and let users write down food entries by hand.
Once you have basic local storage, the next step is to automatically fetch nutrition information for your users’ entries. API Ninjas’ Nutrition API comes in handy here, and you can simply make an API call to obtain nutrition data every time your users enter a food entry.
Finally, to make your app functional across devices you will need an account system. You can use AWS, Google Cloud, or any other cloud provider to store your user data and create an account registration and authentication system so that your users will be able to retrieve their food diary from any device by logging in.
Once your food diary app is complete there are a number of bells and whistles you can add. Examples include diet regimens, macronutrient tracking, and healthy food suggestions. If you want to expand the scope of your app you can even try partnering with delivery businesses to allow your users to order groceries from your app.
Weather is another popular app category for mobile users. A basic weather app will give current weather and upcoming forecasts for any given region, but a more sophisticated one provides much more utility.
To start off, find a good, reliable weather data source. You can use API Ninjas’ Weather API or any other number of reputable providers. Build a simple app that just displays the weather for any input region.
Next, you can incorporate weather-related data. Some examples include air quality (again API Ninjas provides a handy Air Quality API), meteorological radar images, local photos and/or webcam feeds, and weather alerts issued by local governments. All the big weather websites/apps provide these extra pieces of information.
You can also take some time to work on mobile app UI design with this project because figuring out how to display weather and weather-related data can be a challenge. There are lots of icons, text, images that need to be placed, and a phone screen only has so much real estate.
Wordle took the internet by storm in 2022, and it brought with it a whole slew of indie developers and various neat little word games they created. Unlike modern computer games, these word games are simple (no fancy art needed), fun, and addicting.
To make your own word-based game, usually you need some kind of dictionary. You can store it in a local database or use an existing API, and you can use it to generate random words for your game.
The user interface should be intuitive. These games typically cater to casual players just looking to play a relaxing game, so there’s no need for complex tutorials. Ideally, your players should understand how your game works in the first 15-30 seconds.
Because these games are typically lightweight and don’t require much graphics, you don’t need to dive into traditional game engines like Unity. Instead, you can use regular web app frameworks (React, Angular, etc.) for your rendering needs.
Once you have a basic game, you may choose to add multiplayer support or implement a leaderboard for competitive players. Either way, this fun project will provide you with plenty of web development experience.
If you are looking to get some hands-on experience with machine learning (ML), another great side project idea is to train your own machine learning models. Artificial intelligence and specifically machine learning has been wildly popular in recent years, and the demand for machine learning talent in industry has never been greater.
To train your own ML model, you need to both understand the development tools and have access to sufficient training data. Familiarity with frameworks such as Torch, Keras and Tensorflow are a must, and programming experience in Python is highly recommended.
Fortunately, there are plenty of great online courses from Google and other platforms that teach the fundamentals of machine learning and how models are trained and fine-tuned. Take the time to understand these concepts and you’ll be on your way to creating your own ML model.
The goal of this side project is not to come up with novel ML models to revolutionize modern artificial intelligence (if that’s your goal we’d recommend going for a PhD in machine learning), it’s simply to familiarize yourself with the industry standard development environment for training, testing and deploying ML models.
For those who want to see (and hear) their project in action, we’d recommend building a voice-controlled smart home system. With the rising popularity of Alexa and Google Home speaker systems, many hardware manufacturers are making smart home devices compatible with these 2 platforms.
You too can build smart devices Alexa and Google Home. For about 30 bucks you can grab a Raspberry Pi computer, connect it to a digital thermometer module, send temperature readings via API calls to your server, and voila, you have a smart thermometer accessible from anywhere in the world!
Next, set up the Alexa (or Google Assistant) SDK on your Raspberry Pi and program it to read out the temperature when prompted. You can follow the same steps to set up smart lights, smart blinds, and even program multiple devices to work together with a single voice command.
This project is particularly interesting for embedded software developers who want to work with both hardware and software, and it demonstrates both skill sets to hiring managers and recruiters.