10 things you should do before you start a project

10 things you should do before you start a project

Photo by Nikita Kachanovsky on Unsplash

You’re a developer and you want to start a big project. Maybe you want to build an app, create a website or something else. No matter what, you need to approach the project the right way. That’s why in this post, I’ll show you 10 important things to keep in mind when starting a new project.

Write down the idea

When you have an idea, write it down right away. No matter how dumb it may sound, do it. Sometimes the dumbest ideas are the best.

Here’s a quick example:

Airbnb revolutionized the hotel industry by creating a product that actually sounds like no one would use. Nevertheless, the founder implemented the idea and now Airbnb is a huge company.

A good program to write down ideas and plan the whole project, manage the team and much more is Notion.

Gather more ideas for project over 1 to several months.

People often say that if you have an idea, you should implement it within 72h. On the one hand I agree with this, however I deliberately make it so that I start a project only after 1–3 months. This is for the simple reason that during this time I can think of so many more features that can be added to the app. This way I can make sure that I can create the best app possible. However, there is an exception to this rule: if you have just finished a project and then you have the idea, you can go straight ahead, but you should build the project in such a way that you can still add more features in the middle of the programming process.

Create a MindMap to sort out ideas

Now that you have all the ideas, you need to sort them. You can do this easily with a MindMap. This has 3 advantages: You structure your ideas, see them visually ordered and you can add more bullet points to some ideas. A recommended program for macOS and iOS is MindNode. But there are also many apps for Windows and for multiple platforms. It’s best to choose the program that suits you best.

Create sketch / drawing

Now you create a sketch of your app, website or other. This is the first and only point you should really do by hand. This is because it is scientifically proven that you are much more creative with the than with mouse and keyboard. Alternatively, you can sketch on a tablet with a pen, as long as you have a pen in your hand and not a keyboard and mouse.

Design in Figma or Adobe Xd

Now it’s time for the real design. You will now create the design of your app, which you will always stick to as much as possible. You basically stick to your sketch, otherwise it would have been useless. In this process you choose a lot of things. What is the main color of your app. Do you use a lot of illustrations? Do you create your own ilustrations or use ones from sites like undraw.co? Do you use the Material icons, Cupertino icons or your own? As you can tell, you should really go into detail here and try to create a design that is almost perfect for you.

When you’re done, ask friends if they like this design and what they would improve, and make it clear that you want criticism and not to be told that it’s perfect.

Folder and code structure

Now we’re getting more into the programmatic side of things. In this step you will define your folder structure. If you already have one that you are 100% happy with, then use that. If not, search YouTube for folder structures and specify your programming language, because sometimes programming languages can also affect the folder structure.

  1. The most popular folder structures are Folder by Type, Folder by Layer and Folder by Feature.

Learn new, more efficient ways to program something.

This tip doesn’t sound like a good one, because you want to finish your project as fast as possible. But I’ll tell you why you should follow this tip. It’s very simple: You have developed a strategy to program a certain feature some time ago, but there are much more efficient ways to implement this feature. If you learn these more efficient ways, your code will not only look much better, it will also help you in many other projects. So, yes, it might take longer to finish the project, but you will make up for that time by using these new methods in other projects as well.

Connect project with git and github

This tip is actually self-explanatory. You need a version management tool for every project and the best and most popular one is git. If you also use GitHub, you are very well equipped. If you want to learn more about git and GitHub, you can search for tutorials on YouTube.

When adding something new, create small mini-projects, test it there and only then put it into the real application.

This tip is done by way too few people, however it is super important. Let’s say you want to make your app with a database, but you’ve never done this before. You just start the whole thing in your main project and it doesn’t work. You try a different method, it doesn’t work. At some point your code looks so messy and it’s a pain to undo everything that a different approach is needed. This one is quite simple. You just create small side projects where you focus exactly on this feature and if it works after trying it a few times, then you can implement it in your project with a clear conscience without breaking your code.

Set lots and lots of small intermediate goals

Most people should know this tip, but it is used far too rarely. Write down many small goals that are almost too easy to achieve. Even if they are so simple, you will have a sense of achievement every time and keep the motivation. It’s best to make even smaller goals than the ones in this example.


As you can see, there are a lot of things you should consider when starting a new project and the ones listed here are far from all, but they are among the most important.

If you have any tips that you think should be included in the list, feel free to share them with us!

PS: Follow me on Twitter for more helpful posts: https://twitter.com/TomicRiedel

Did you find this article valuable?

Support Tomic Riedel by becoming a sponsor. Any amount is appreciated!