Why I Chose FastAPI for My First Real Project
Choosing the right tool is the most important step in software engineering. A look into why FastAPI was the logical choice over Django for my latest API.
The decision
While studying Django at college, I realized its opinionated structure was too heavy for the scope of my personal project. I started researching modern, lightweight Python frameworks for APIs, and FastAPI quickly stood out as the most logical choice.
Why not Django
As I mentioned above, Django is opinionated. It has too many built-in features that I just don’t need right now: the Template Engine, the Admin panel, the strict modular architecture (MVT), and its overall stiffness. This reinforced my choice to go with FastAPI.
Why FastAPI
I really understand the purpose of FastAPI now! After starting my API and learning Django at college simultaneously, the contrast became clear. The primary difference for me is the flexibility. FastAPI allows me to easily plug in tools like PostgreSQL without any friction. It’s faster than Django and, most importantly, simpler for my specific use case. Would Django work? Yes! But it would be overkill, and that’s okay.
What this choice taught me
At college, I’m taking a class called “Human-Computer Interaction” (IHC). The professor assigned us a project to build an application with a strong UX/UI focus for people with accessibility issues—in my group’s case, a banking app for users with motor disabilities. Since we learned HTML, CSS, and JavaScript last semester, you’d think everyone would just use that. But no, many people immediately jump to Python or other tools just because they are comfortable with them.
This taught me a valuable lesson: it’s tempting to force a project into a language or framework we already know. But the truth is, picking the right tool for the specific job is the most important skill in software engineering, and that’s exactly what I’m focusing on for my next steps.