Aditya Trivedi
Apr 17, 2025
Whenever it comes to creating a project or making a project, the most crucial part of it is to have an approach to it. Many a times, what developers do is that they directly start creating the project, rather than understanding what the requirements of the project is.
Understanding what is the exact requirement in detail
Creating a flowchart understanding what is the flow of the entire project
Based on the flowchart, NOW is when I choose the tech stack to start the project. Now this step also has some conditions while making decision on:
Fast Processing β NodeJS
Data Processing and Cleaning β Python/Django/Flask
AI or Machine Learning β Python or NodeJs (Personally my choice as there are many libraries which are available here as well)
Security β Java
NextJS β Fast Loading and Image Optimisation
ViteJS β Faster Development
Or Any other JavaScript Based Frameworks
TalwindCSS/ShadCN β Styling
MongoDB β Super Easy Syntax and easy to connect and also document based
Supabase β OpenSource Structured Database like MYSQL
ChromaDB/PineCone/MongoDB β Vector Embeddings and Vector Search (AI Related Applications)
After I am done choosing my Tech Stack, next step is to start with the designing the frontend. For that I usually go for either Figma or Penpot (Open Source Figma Alternative)
Now this is where a little debate happens, some directly go for frontend development while some start with backend. Don't worry nothing is wrong here, you can start with anything you want.
I personally choose to start with creating the backend first as I think this particularly takes a lot of time developing and most importantly TESTING ππ.
I use TDD approach for this which is Test-Driven-Development i.e. create an api β test it with multiple test case you can think of, then move forward with the next one.
Once backend is created, now start with designing the frontend. Always prefer using reusable components in your website so that:
Number of Lines of Code is reduced
Debugging is easier
Code is Reusable
Start creating the frontend using mobile first view as it is very important to have your website both desktop and mobile friendly. Using this approach reduces a lot of your time in development.
Once the frontend is completed, next task is to start integrating the APIs. This is where all the crucial aspect of any website is implemented.
Once APIs are integrated, next step is to do a thorough testing of the integrated APIs and UI. If the results are as per your requirements, you are good to go for deployment else debug the issues and solve them until and unless you're requirements are not met.
For Backend deployment I usually prefer:
Render
PythonAnywhere
For Frontend My only way to go is vercel.com
Once this is done, your project is completed. Congratulations π₯³
βJust a small reminder, this approach can be changed based on the scalability and use case of the project.β