How to Actually Start Making Projects

You know the syntax, you’ve done exercises, maybe even passed exams - but when it comes to starting a real project, you feel stuck.
Here’s a practical guide to actually making that jump.
(The guide will be referring to my project: Cuberry Launcher)
Start With an Idea
And a reason
Your projects don’t have to be groundbreaking. The best ones often start from a simple annoyance or curiosity. Ask yourself:
- What do you wish existed?
- What bothers you enough to fix it yourself?
For example, Cuberry started because there wasn’t a single launcher on Linux that could manage all the different Minecraft editions, even though games like "Dungeons" and "Legends" are available on Steam and could theoretically integrated into the official Minecraft Launcher. That simple need became the seed for a much bigger project.
Plan It
Step by step
Don’t overwhelm yourself with the next big project. Break the idea into small, concrete steps.
For Cuberry, the plan started simple:
- Add a Minecraft version.
- Make it launch.
- Using other launcher - like MCPELauncher for Minecraft: Bedrock Edition.
- Add more Minecraft versions.
- Improve the interface.
- Add new features.
Even a small first step is progress - and once it works, you can add more complexity gradually.
Build Something Ugly First
Make it nice later
Your first version should be barebones. Forget about polish. Focus only on whether it works.
The early Cuberry was basic and functional - no fancy interface, just enough to run the games. Once the core functionality was solid, the interface was redesigned and then released to the public. After that additional features were added.
Think Modular
When it makes sense
Small projects don’t always need modularity. But any project that might grow, will benefit from it.
Because Cuberry wasn't developed with modularity in mind, adding new games was way harder than it should be. After rewriting huge parts of the code (mainly in this commit) Cuberry eventually became modular, allowing:
- Multiple games (Java, Bedrock, Steam, Lutris, Emulators, and more)
- Multiple themes
- Easy addition of future games like Vintage Story
Designing it this way meant adding new games and features didn’t require rewriting the entire launcher everytime. Modularity saves time and headache as your project grows.
Let Your Projects Grow
Most projects start small, but even simple tools can be useful to others and have the potential to grow. Something you build for yourself today could evolve into a much more powerful project over time. If you think a lot of people have the same problem as you, and your project fixes it, promote it on websites like Reddit or Discord, in communities that could make use of your project.
Cuberry started just to launch a couple of Minecraft editions, but now it’s a multi-game launcher. Its growth was natural because the architecture allowed it.
Final Thoughts
If you want to start making projects, the recipe is simple:
- Pick an idea you actually need/care about.
- Break it into steps.
- Make the simplest working version possible.
- Refine and make it modular if it grows.
- Keep going, feature by feature.
Even if your first project seems tiny, the process teaches more than any tutorial or exercise. Starting small and growing is how real software is built - just like Cuberry.