Exciting side projects that you can do today

This is a translation of an article published on the site. medium.com. It has a developer from the Netherlands Daan advises various projects that will help to pump professional skills in your free time: from working with 3D to creating a bitcoin tracker.

Photo from the site Unsplash. Author: Christopher gower

Side projects can significantly expand the range of your developer skills and prepare you for further complex challenges. This is probably the fastest way to improve your professional level, since you have the opportunity to choose the project that you want to do, unlike your main job.

There are no shortcuts on the way to becoming a cool developer. In any case, you will have to spend many hours at the keyboard. So why not do it while working on an interesting side project?

However, most developers cannot decide what they should do. As a rule, they spend too much time thinking and, as a result, come to nothing. I will save you from having to choose what your next stunning app will be. Start with something simple and small.

In this article, I have listed seven interesting projects that will challenge you.

Project 1: Personal Knowledge Base

An excellent side project that I can recommend to anyone is a personal knowledge base. This option is especially good if you are a relatively inexperienced developer. What is so wonderful about it? You can change the functionality of the project and, accordingly, its complexity.

As an easy start, you can implement the function of storing records in a formatted form. If you want to complicate your base a little, then build in, for example, a feature that will allow you to add links to training materials and blog posts. If this is too simple for you, then try to create a basic API for processing text content.

Suppose you also want to add the function of storing PDF files to your knowledge base, as they are a valuable source of information. If you are really ready for the extra workload, then you can embed a search engine like Elasticsearch or Algolia to index such files. When indexing the title and author, it will be possible to implement a search function. Also, if you add tags, the search will become even easier.

Again, working with such a side project has no boundaries, so it is suitable for all developers. The most obvious way to implement such a database is to create it in the form of a web application.

Why is this useful?

  • You will learn the basics of web development (HTML5 and CSS).
  • Learn to interact with the database.
  • Understand how to store files like PDF.
  • Learn how to work with a search engine and implement search for indexed data.

Project 2: work in 3D

Photo from the site Babylon.js

What could be cooler than playing a little with 3D? If you have never programmed anything in 3D, I highly recommend trying it, because it will definitely give a lot of pleasure. The coolest thing is that you don’t have to start from scratch.

Take a look at D3 or Babylon, which are WebGL projects. I myself dabbled a bit with Babylon, as I was recommended. Babylon has an interactive platform where you can experiment with the API and learn on the go. You do not need anything to run, because the IDE works online, just like CodePen.

Why is this useful?

  • You will understand how 3D works.
  • Learn about vectors, cameras, and scenes.
  • Learn to create a huge amount cool content!

Project 3: Raspberry Pi-based Bitcoin Tracker

Photo from the site Unsplash. Posted by: href = “unsplash.com/@hbtography?utm_source=medium&utm_medium=referral»> Harrison Broadbent

You can do a lot of interesting things with your Raspberry Pi single board computer. One way to use it is to create a tracker for bitcoin. I really like to use the Raspberry Pi in side projects, as it combines both software and hardware.

The goal of this project is to find out the current value of Bitcoin, which can be done through the API, and display it. So in addition to the Raspberry Pi, you will need a few more things: an LED matrix display, LEDs and a power supply.

As an add-on, you can embed a bitcoin value color change. For example, if it goes up, the numbers turn green, and if it goes down, then they turn red.

Why is this useful?

  • You will learn the basics of using the Raspberry Pi.
  • Learn to work with the API.
  • Learn more about the interaction of software and hardware.

Project 4: Pong

Designing a Pong game is a great way to see how games are developed from the very beginning. If before that you had no prior experience in creating games, then Pong is perfect for a start, as it is quite simple. You will become familiar with concepts such as object movement and collision detection. From the remarkable – you can make both single and multi-user mode.

If you want to create an application, I advise you to use the Swift language for this project. If you want to work using HTML5, you can prefer the JavaScript framework, such as React or Vue.

Why is this useful?

  • You will learn how to work with Canvas.
  • Explore object movement and collision detection.
  • Understand how to track keystrokes.
  • You can additionally build in the function of using a computer as an adversary.

Project 5: WebSockets

My chat window open in two browser tabs

Nowadays, real-time communication is becoming increasingly important for developers. Both the frequency of use and the demand for relevant tools are growing, so experience with them will be useful.

There are dozens of side projects that are completely based on communication through the WebSocket protocol – you can take any of them. I developed a chat myself to learn a little more about socket operation.

Creating a chat is the perfect way to get started with WebSockets. As for the selection of technologies, the choice is huge. One of the working options is the Node.js. software platform.

Why is this useful?

  • The most valuable lesson of this project will be understanding the mechanism of socket operation.

Project 6: solving the maze

The labyrinth solution is a great option for those who want to learn how to build algorithms. The goal is to construct a labyrinth and launch a bot there, which should go from start to finish.

The positions in the maze will either be open or blocked by an obstacle. You can complicate the project by generating random mazes. Another really great feature that you can embed is creating a maze based on a picture. This can be a simple raster image of white and black pixels, in which the latter act, for example, as a wall.

Photo from the site Researchgate

Why is this useful?

  • You will get acquainted with the strategy of solving the maze and try it in practice.
  • Work with the API.
  • If you wish, you can optionally build in many algorithms for passing the maze.

Project 7: Boston Housing Dataset

Photo from the site Unsplash. Author: Tierra mallorca

Boston Housing Dataset is a great opportunity to become familiar with machine learning. This is a popular dataset used in the literature on pattern recognition. The data source for this array was the real estate industry in Boston, it was created in 1993.

This is a regression analysis. This is a fairly small data set that contains 506 rows and 14 columns. It is great for beginners, as you can try any methods without fear of overloading your computer.

The goal of the project is to predict the median value of the homes occupied by the owners.

  • Why is this useful?
  • You will understand machine learning.

It’s time to move on to practice!

Now that we’ve finished with a list of interesting side projects, it’s time to get started. To get started, select a project and try not to drop it. Jump over the keyboard and start enjoying the process of developing and learning new things.

“If you are not having fun, you are doing something wrong,” – Groucho Marx.

Happy coding!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *