DEV Community

Cover image for How I Built My First Flask Todo App in 15 Days (Just 2 Hours a Day)
Sourav Halder
Sourav Halder

Posted on

How I Built My First Flask Todo App in 15 Days (Just 2 Hours a Day)

About 15 days ago, one of my friends recommended that I start learning Python and Flask.

Honestly, I’m completely new to this side of development. Coming from a different background, a lot of things didn’t make sense in the beginning. I made many mistakes, got stuck multiple times, and had to restart parts more than once.

Instead of staying stuck in tutorials, I decided to try building something real — a simple Todo application.

The Hardest Part (First Few Days)

The first few days were the most confusing.

I spent almost 2 days just trying to understand how init.py works.

Then I struggled with:

  • How routing works in Flask
  • How configuration is structured
  • How different parts of the app connect together

Even basic things like:

  • Virtual environments (venv)
  • What requirements.txt actually does

…were not clear at all in the beginning.

These are small things, but if you don’t understand them, everything feels broken.

What Went Wrong

Nothing worked on the first try.

  • Routes kept breaking
  • Login system didn’t work initially
  • Session handling was confusing
  • Sometimes I didn’t even understand the error messages

There were moments where I thought I was doing everything wrong.

But I kept fixing one issue at a time.

What I Built

After going through all that, I was able to build a working Todo application with:

🔐 User Authentication (Login / Register / Logout)
✅ Create, Read, Update, Delete Tasks (CRUD)
📅 Due Date & Task Management
📊 Clean Dashboard UI
🧱 Modular & Scalable Project Structure
🔒 Session Management with Flask-Login

It’s not perfect, but it works end-to-end.

GitHub Repository

You can check the code here:
👉 https://github.com/souravion/flask-python-todo-app

What I Learned

These 15 days taught me more than just Flask:

Breaking problems into smaller parts helps a lot
Understanding basics (like venv, config) is important
Errors are part of the process, not something to avoid
Building something real teaches more than tutorials

Looking for Feedback

I know there are many things that can be improved in this project.

If you’re experienced with Python/Flask, I’d really appreciate your feedback:

  • What should I improve?
  • What should I learn next?

What’s Next

I plan to:

Improve code structure

  • Add more features
  • Learn more about backend best practices

Final Thoughts

This project is not perfect — and that’s okay.

It represents 15 days of confusion, mistakes, learning, and small wins.

Still learning. Still making mistakes. But moving forward.

Top comments (0)