A personal project by Ahmed Maamoun Solving the friction between complex task management and speed.
I've always felt that most task managers are either too simple (to-do lists) or too bloated (Jira). I wanted to build something in the middle: a tool that feels instant. No loading spinners, no lag. Just pure focus. TaskFlow is the result of that experimentation with "Optimistic UI" and real-time syncing.
| Landing Page Experience | The Core Dashboard |
|---|---|
![]() |
![]() |
Instead of just listing technologies, here is how they work together:
- Next.js & TypeScript: The backbone that ensures everything is type-safe and fast.
- Prisma & PostgreSQL: Handling complex relations between users and tasks without the headache of manual SQL.
- Tailwind CSS: Custom-crafted dark mode and glassmorphism components.
The biggest hurdle was the Drag & Drop experience. When you move a task, the last thing you want is to wait for a database confirmation.
I solved this by building a custom Optimistic State Hook. The moment you drop a task, the UI updates locally and reorders the array. The API call happens in the background. If it fails (e.g., internet drop), I built a reconciliation logic that snaps the task back to its original place with a subtle "Error" shake animation. It makes the app feel like it's running at the speed of thought.
- Clone it:
git clone https://github.com/Maamoun0/TaskFlow.git - Docker Magic: Just run
docker-compose up -dand let the containers handle the database setup for you. - Explore: Open
localhost:3000and start being productive.
Ahmed Maamoun - LinkedIn | GitHub
Hand-crafted with surgical precision.

