Skip to main content

Command Palette

Search for a command to run...

5 Best Side Projects to Build as a Beginner

Not sure how to progress in your coding journey as a beginner? Here are some side project ideas you can start building to improve quickly!

Published
5 Best Side Projects to Build as a Beginner
V

I'm a solutions engineer lead, GitHub Star, Director of WomenDevsSG, and co founder of ragTech. I work at the intersection of tech, systems, and leadership, and this blog is where I share my journey through all three. Expect honest reflections, real experiences, and thoughts that are still forming rather than polished career advice.

Do you feel that your learning has stagnated as a code newbie? Do you need some beginner-friendly project ideas to improve your skills?

Many of you have asked me for some side project ideas as a beginner. And no, I don't suggest the usual to-do or weather apps. In this article, let me share my top 5 best side projects to build as a beginner. Hopefully, this can help you get started on many more wonderful projects you will build in your coding journey.

1. Addition App

As a beginner, you need to start getting familiar with writing logic with the language you are learning. An app to sum 2 numbers is the best way to start. You already know what it does, so you just need to implement it in code. Building this project helps you learn how to process user input information, work with numbers and write logic to get the desired outcome.

Here's an addition machine example by Percy Potter.

Try not to focus too much on the styling at first. This project is meant to get you familiar with writing functions and logic in code.

Once you are better, you can include fancy CSS like this awesome one by nyein.

2. Pokedex

My next side project idea is building a Pokedex. It is a simple project where you fetch and display Pokemon information from the PokeAPI. If you are learning to become a front-end developer, it is important that you learn how to fetch data from APIs.

Making a Pokedex is a simple and fun project to pick up these skills quickly. In addition, because the PokeAPI is available both as a REST and GraphQL API, you can learn how to fetch data from both types of APIs.

Another essential skill you will learn when building a Pokedex is how to organize and display fetched data. You can learn a new data visualization library while building this project. For example, I used Chart.js to display the fetched Pokemon data below.

example

It is entirely up to you what data you want to display in your Pokedex. It can be as simple as Kehran Carr's Pokedex, which displays the sprites, name, type, height and weight. Or it can be like my example earlier, which displays more details.

Once you are better, you can add more custom styling, and even more complexity. In my Pokedex project, I added a custom machine learning model to detect what Pokemon is in the provided image.

pokedex.gif

If you are interested, do check out how I build my Pokedex project in this article.

3. Library System

A library system basically a simple app that contains information of books in a library. A user can also add or remove books from the library. Of course, for this side project, the type of information, the amount of books, etc. is up to you.

The goal of building this project is to learn how to accept user input and manipulate DOM elements. If you are adding a new book, you need to update the UI to show the newly added book's information that the user has inputted immediately. Or when you remove a book from the library, its information should no longer be visible.

This one is a nicely done example by Furkan Gulsen in Codepen.

For beginners, you can focus on just adding and removing books. If you want to take it to the next level, you can make the data persist by implementing a database to the project. You can even add complexity such as tracking which books are currently 'Borrowed' like this amazing project by viethoang.

4. Bulletin Board

Another beginner-friendly side project is building a bulletin board. It is a simple project to solidify your understanding of how to create a UI where users can add, drag and delete notes.

Here is my example: bb

It is similar to a to-do app but instead of just displaying the items on a list, you are also implementing drag-and-drop and localStorage features in a bulletin board. You can learn the Drag and Drop API in HTML5, or use a library.

Note: The image below is the current browser support for the Drag and Drop API. Taken from W3Schools.

image.png

If you are learning React and want to build this project in React, feel free to read my full tutorial article on how to build a bulletin board app.

Again, if you want to further challenge yourself, feel free to add a database or even authentication to this side project.

5. Photo Album

The last but definitely not least side project idea for beginners is to build an image gallery or photo album app. Even if you have avoided or skipped implementing a database for the Library System or the Bulletin Board, you will need to eventually learn about how to store data from your app to a database.

Whether it is using MySQL, PostgreSQL, HarperDB, Firebase, Amazon RDS, etc., learning this skill as a web developer will be very helpful to your future growth. Here is my example with Firebase Cloud Storage:

result.gif

If you want to follow my 2-part series on how to build this simple photo album app with React and Firebase, feel free to read this article.

Conclusion

And that is 5 of my top side projects to recommend for beginners to learn some essential skills in web development.

What have you built when you are still learning? Do let me know in the comments below.

Thanks for reading! I hope it has helped any code newbie who is feeling like they are not progressing much in their learning journey. It's okay to feel stagnated and unmotivated because you feel lost. All that matters is to continue building new projects and finding new ways to challenge yourself a little to foster your growth. best of luck to everyone. Cheers!


CodePen Credits

  • Simple Adding Machine: https://codepen.io/percypotter/pen/eYzVbGr
  • Addition App with Styling: https://codepen.io/nyein117/pen/wYPwdV
  • Simple Pokedex: https://codepen.io/KehranC/pen/LdQwmp
  • Library System: https://codepen.io/guldus/full/YMWeLe
  • Library Borrowing System: https://codepen.io/viethoang012/pen/aYNKYa

Comments (11)

Join the discussion
R

Hello, friend! I am also fond of developing different applications. that's why I often read informative articles on this topic. Recently in this blog, I found an article about geolocation app development. if you're interested, you can read more here. Thanks to this article, I learned a lot and everything worked out for me. Have a nice day!

J

I really like the idea of building a Pokedex!!! I am positively obsessed with Pokemon Legends XD (and nearly lost my mind when the new ones where announced so suddenly)

I will consider doing it for my next hackathon project (which would be only my second). Right now I am working on my first. I'm trying to do a Chrome extension (a very, very, very simple one).

Thank you Victoria Lo for sharing the codepen. I think building a Pokedex would be much harder. So I will have something for reference!

1
V

No problem Jorge Romero! I'm glad you liked the idea! Feel free to share it once it's completed! Would love to see it 😊

And yes! I'm also so into Legends right now! Been sharing this pic with everyone LOL (see below)!

dialga.png

I'm also super excited for Scarlet/Violet! Haha, I can ramble on about it πŸ˜†πŸ˜†

J

Victoria Lo please, let’s ramble about pokemon! I haven’t finished it so no spoilers XD

I was thinking of writing an article on what makes PokΓ©mon legends fun. I think it would make for a interesting topic.

I’ll make sure to ask for your feedback when I make my pokedex.

P

Nice! I'll be using these ideas to guid new developers in my team in their learning paths πŸ‘

A

Great projects Victoria Lo I have wanted to build a Pokedex app for years! Back then I did not have the skills but I do now! But there are also a lot of Pokemon now so I think it would be a long term project πŸ˜…

2
V

Haha yeah! It depends how you want to make the Pokedex! No need to include all 900+ species if that's too much πŸ˜‚ I'm thinking of making a simple one as a tutorial for GraphQL. The PokeAPI recently launched their GraphQL API. So no more fetching tons of unnecessary data from their REST APIs πŸ˜†πŸ˜†

1
V
Vee2xx4y ago

The first project I worked on was a calculator. In VB6! (Yes, I am that old). Everything was fine until I had to keep track of the signs when operating on more than 2 numbers at a time. I had a heck of a time figuring out how to handle (a + b) * c.

D

Nice! I love how each of these handles a very specific set of unique challenges that you don't come across, but are very beneficial to learn! Well done!

1
V

Thanks Derek Drapp, I'm glad this was a helpful read for you!

N

Thanks 😘 Nice article and cool demos.

2
V

Thanks Nancy Bennetts! Not all the demos are mine, I included all their CodePen links in the credits section so feel free to check them out as well~ 😊 Best of luck to your journey!

A

Saya amat tertarik pada projek Pokedex, dimana kamu menggunakan Machine Learning untuk mendeteksi gambar fisikal Pokemon daripada komputer dan terus dapat info daripada browser. Satu pertanyaan berkaitan dengan bahagian tersebut. Apakah kamu menggunakan Python atau JavaScript untuk bahagian mendeteksi imej tersebut?

  • Saya daripada Malaysia, negara jiran kamu. Maaf jika Bahasa Indonesia saya agak kelam kabut.
V

Halo Ahmad Irfan Mohammad Shukri, saya pakai Google AutoML API untuk bikin custom ML model ini. Habis itu, saya export model nya ke app saya. Semuanya menggunakan JavaScript.

Silakan membaca blog saya tentang Pokedex projek: https://lo-victoria.com/my-new-year-hackathon-project-image-classification-pokedex-1

P.S.: Tidak apa-apa, Bahasa Indonesia saya juga gak begitu bagus hahaha! 😊

A
amrin4y ago

wow! these are great project ideas. Definitely gonna try them even though i am not a beginner. thanks for sharing Victoria.

1
V

Haha sure! These projects can be technically for anyone to try an build! 😊 Looking forward to see what you build amrin!

1
T

this pretty useful, thanks for sharing that!

1
V

Thanks for reading! Appreciate it so much 😊

Random Projects to Build

Part 12 of 32

This series features step-by-step tutorials on how to build some quick and simple apps for beginners to practice their skills. From bulletin boards to messaging apps, let's build anything!

Up next

A Quick Beginner's Guide to Set Up Auth0 + React

How to set up basic Auth0 authentication with React for beginners for Hashnode's Auth0 hackathon