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
My Web-Based Calculator.
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.
- 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.
- Splash/Wave Button: Google's Material Design is probably most well known for its special buttons 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 about any topic you find interesting, or you can utilize a trivia API.
- 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.
- 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 or use the graphics Library Pygame in Python.
- Calculator: This one is pretty straightforward so you could add some advanced features to your calculator like a calculation history.
Now also for some honorable mentions.
Tabs, Accordions, Dropdowns, Sortable Tables, etc.
Essentially think of any UI Component.
Making Games
My Game 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, and when it comes to graphics, I boat well with paint.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
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: 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: This is a 3D Library that is a bit harder to learn but all the more rewarding.
- Konva.js: 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: This is the Code Editor built into VS Code and it is awesome! You could, for example, make your own playground like jsbin.
- Tkinter: This is a Python package to make User Interfaces. At first, it behaves rather clunky, but it is just fine for little projects.
- 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.
Top comments (0)