Programming Project Ideas
Published: 2023-06-24 09:44:58

---
title: 'Programming Project Ideas'
published: true
description: "Let's review some project ideas you could work on. Learning by Doing."
cover_image: 'https://maximmaeder.com/wp-content/uploads/2023/06/programming-project-ideas-1000x500.png'
canonical_url: 'https://maximmaeder.com/programming-project-ideas/'
---

The best way to learn is to do, and that's why I want to inspire you by presenting Ideas for programming projects that you could work on in your free time. This

Furthermore, I will provide you with starting points for some of the projects by linking to other articles by me that describe these projects.

So let's get right into it!

## Recreating Famous Software or Famous UI Elements

![Calculator with HTML, CSS and JavaScript](https://maximmaeder.com/wp-content/uploads/2022/10/Screenshot-253.png)

*My Web-Based [Calculator](https://maximmaeder.com/calculator-with-history-function-in-html-css-and-javascript/).*

Finding project ideas takes work, but you can get inspired by already existing software. Sometimes I think: *"Wow this is cool but how was it made?"*. Let's go over some inspirations.

- Visual Studio Code (Or any Code Editor): You could try to recreate [syntax highlighting](https://maximmaeder.com/highlighted-dummy-code-editor-with-html-css-javascript-vue-js/).
- Microsoft Word: Word is a *What you see is what you get* (WYSIWYG) Editor based on HTML and CSS. Recreating something like this will be challenging but rewarding in the end.
- Microsoft Excel: You could once again use your knowledge of HTML, CSS, and JavaScript to create your own [table calculation program](https://maximmaeder.com/simple-spreadsheet-app-with-vue/).
- Splash/Wave Button: [Google's Material Design](https://design.google/library/designing-material/) is probably most well known for its [special buttons](https://maximmaeder.com/ripple-button-with-html-sass-and-javascript/) that have this wave effect.
- Quizzes: There are many quiz apps out there like Kahoot or Quizlet, and you can just as easily [create a quiz by yourself](https://maximmaeder.com/country-quiz-with-html-sass-and-javascript/) about any topic you find interesting, or you can utilize a [trivia API](https://the-trivia-api.com/).
- Explorer: If you know Python, you can use Tkinter to make your own file explorer.
- OBS: OBS is helpful when you want to record what you do on your computer. And you can recreate this program with JavaScript since there is an API for [Capturing Screens](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture).
- Paint: This is the Default drawing program on Windows, and It is not helpful, but it would be fun to recreate it so you could dive into the [canvas API  of JavaScript](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) or use the [graphics Library Pygame in Python](https://www.thepythoncode.com/article/make-a-drawing-program-with-python).
- Calculator: This one is pretty straightforward so you could add some advanced features to your calculator [like a calculation history](https://maximmaeder.com/calculator-with-history-function-in-html-css-and-javascript/).

Now also for some honorable mentions.

[Tabs](https://maximmaeder.com/tabs-with-html-sass-and-js/), [Accordions](https://maximmaeder.com/accordion-with-html-css-sass-and-javascript/), [Dropdowns](https://maximmaeder.com/dropdown-with-sass-css/), [Sortable Tables](https://maximmaeder.com/sortable-table-with-javascript/), etc.

Essentially think of any UI Component.

## Making Games

![My Game Tile Jumper 2088](https://maximmaeder.com/wp-content/uploads/2023/02/game_making.png)

*My Game [Tile Jumper 2088](https://maximino.itch.io/tile-jumper-2088).*

Making games today is easier than ever. There are some fantastic tools out there that allow us to make awesome games with a small to no budget.

I like the [Godot Game Engine](https://godotengine.org/), and when it comes to graphics, I boat well with [paint.net](https://www.getpaint.net/) and Adobe Illustrator.

Game Jams often have a topic that should serve as an inspiration and constraint that you can use to make a game in a short amount of time.

You could also use the *Physics Power* that these engines have to make simulations or other more test-oriented software like a planet simulation.

Once Again, you can get inspiration from the big AAA titles or other games.

Lastly, I don't know if it is just me, but I think making games is rewarding, especially seeing your friends play your games (and fail 😀).

## Packages and Languages

![Anime.js JavaScript Animation Library](https://maximmaeder.com/wp-content/uploads/2023/02/animejs.png)

*[Anime.js](https://animejs.com/) JavaScript Animation Library*

Now some packages could inspire you to build something incredible.

Let's go over some JavaScript and Python Packages you could try out.

- [Anime.js](https://animejs.com/): This is a simple and intuitive animation library for the front end. Its documentation is excellent, and you will quickly get the hang of it.
- [Three.js](https://threejs.org/): This is a 3D Library that is a bit harder to learn but all the more rewarding.
- [Konva.js](https://konvajs.org/): I once asked myself how visual editors like Illustrator were made and then stumbled upon this little package that enables you to make editable 2D Canvas Scene with a wide variety of objects.
- [Monaco Editor](https://microsoft.github.io/monaco-editor/): This is the Code Editor built into VS Code and it is awesome! You could, for example, make your own playground like [jsbin](https://jsbin.com/?html,css,js,output).
- [Tkinter](https://docs.python.org/fr/3/library/tkinter.html): This is a Python package to make User Interfaces. At first, it behaves rather clunky, but it is just fine for little projects.
- [pywebview](https://pypi.org/project/pywebview/): It Is somewhat of a combination of Python and JavaScript because it allows us to make a desktop app with Web Technologies and Python in the Backend to interact with the OS.

## Make Notes of Things you Encounter

Lastly, I want to give you a tip.

Every time you encounter something you think is interesting or noteworthy, write it down! Make a list of all these things and store it in a safe location so you can, every once in a while when you are bored, look at your list of topics and should have new ideas for what to program.

I have a Private Github where I store a Markdown document with all the things I want to make once or that I think are fascinating.