Over the last few months, I have embarked on a journey to build 3 products.
It's been an incredible experience, filled with challenges, learning, and a lot of coding. In this blog post, I'll walk you through the tech stack I used, the reasons behind my choices, and why I decided to avoid using Java for these projects.
Let's dive into the exciting journey of building these products!
The Products
1 - Amigoscode 2.0 (new website including learning platform)
2 - Portfolly (One click portfolio builder for developers)
3 - iMasjid (Timetable solutions for mosques)
The Tech Stack Used
Building three products in six months is no small feat, and having the right tools and technologies was crucial. Here's a breakdown of the tech stack that powered these creations:
Git / GitHub: Version control is essential for managing and collaborating on code. Git and GitHub allowed me to keep track of changes, collaborate with others, and maintain a clean and organized codebase.
JavaScript / TypeScript: These are the backbone of my development process. JavaScript is versatile and widely used, while TypeScript adds type safety, making the code more robust and maintainable.
Tailwind CSS: For styling, I chose Tailwind CSS because of its utility-first approach, which speeds up the development process and ensures a consistent design across all products.
Supabase: Supabase served as the backend service, providing an open-source alternative to Firebase with seamless integration and a developer-friendly experience.
Firebase: Firebase was used for its real-time database and authentication features, which are essential for building scalable and secure applications.
Figma: For UI/UX design, Figma was the tool of choice. Its collaborative features and ease of use made designing interfaces and prototyping a breeze.
One of the standout benefits of this tech stack is that I don't have to worry about infrastructure and deployment. Using Supabase and Firebase allows me to focus on building features and improving user experience rather than managing servers and deployment pipelines. This streamlined approach to development means quicker iteration cycles and faster time to market.
Why I Did Not Use Java
Java is a powerful and popular programming language, known for its robustness and scalability. However, for this particular set of projects, I decided to steer clear of Java for several reasons:
Development Speed: JavaScript and TypeScript, combined with modern frameworks and libraries, enable rapid development. The dynamic nature of JavaScript allows for quicker iterations and faster prototyping, which was essential given the tight timeline of six months.
Project Requirements: The products I built were more suited to the strengths of JavaScript and TypeScript, especially given the heavy reliance on front-end development and real-time functionalities provided by Supabase and Firebase.
Community and Ecosystem: The ecosystem around JavaScript is vast and vibrant, with a plethora of libraries, frameworks, and tools available. This rich ecosystem allowed me to leverage existing solutions and focus more on building unique features rather than reinventing the wheel.
Frontend Focus: Given that a significant portion of the work involved building user interfaces and ensuring seamless user experiences, JavaScript was the natural choice. It directly integrates with web technologies, making it ideal for front-end development.
Infrastructure and Deployment: Java typically requires more intricate setup for infrastructure and deployment. By using tools like Firebase and Supabase, I could bypass these complexities and deploy my applications effortlessly, allowing me to concentrate on coding and feature development.
Question
Conclusion
Embarking on this journey to build three products in six months has been both challenging and rewarding. The choice of tech stack played a crucial role in the successful development of these products.
By leveraging the strengths of JavaScript, TypeScript, and the other tools mentioned, I was able to create robust, scalable, and user-friendly applications without the headache of managing infrastructure and deployment.
Stay tuned for more updates on these products as they get closer to launch. Your feedback and support are invaluable, and I look forward to sharing more details soon. If you have any questions or comments, feel free to leave them below!