Building Ignita was one of the most valuable learning experiences in my software development journey. The project was designed to help students discover hackathons, internships, coding contests, and other career opportunities in one place.
When I started, I thought the biggest challenge would be writing code. However, I quickly realized that planning the application architecture was equally important. I spent time designing database schemas, API structures, authentication flows, and feature modules before implementing them.
Through Ignita, I learned how frontend and backend systems communicate. I worked with Next.js for the frontend and NestJS with PostgreSQL for the backend. Managing authentication, bookmarks, notifications, alerts, and event data taught me how real-world applications are structured.
One of the biggest lessons was understanding the importance of clean code and modular design. Features become easier to maintain when responsibilities are clearly separated across components and services.
The project also improved my debugging skills. Every error became an opportunity to learn something new about APIs, databases, deployment, or system design.
Ignita continues to evolve, but the experience of building it taught me much more than any tutorial ever could. It showed me how software engineering is not only about coding but also about problem-solving, planning, and continuous improvement.