Jagadeesh Jetti

> Developer?_
back to projects
● Live2025 · Solo developer

FocusFlow

AI productivity planner — set goals, break them into milestones, ship them.

FocusFlow
Role
Solo developer
Timeline
6 weeks
Year
2025
Status
Live

The problem

Productivity apps either overwhelm you with features or reduce goals to single-line todos. There was no middle ground where a long-term goal could live with its milestones and still feel approachable on a Monday morning.

What I built

An AI-powered productivity tool that turns long-term goals into actionable milestones, with a clean dashboard for daily tracking and OpenAI-generated suggestions when planning gets stuck.

  • Goal-setting flow with deadlines, descriptions, and auto-generated milestone suggestions
  • Redux-powered dashboard tracking daily plans, completed tasks, and goal progress
  • JWT-based auth with signup, login, and protected routes
  • Responsive mobile-first UI in Tailwind

Tech decisions worth mentioning

Chose Redux Toolkit over Context API because goal/milestone updates needed to sync across several unrelated components (dashboard, sidebar, timeline). Context would have caused re-render storms. For the AI suggestions I used OpenAI's completion API server-side so the key never hits the client.

What I learned

Redux Toolkit made state predictable but the real win was separating server state (goals fetched from Mongo) from UI state (which modal is open) — mixing them was my first instinct and it made debugging painful.

What I'd do differently

I'd reach for TanStack Query for server state from day one, and move auth to httpOnly cookies instead of localStorage for the JWT.

// stack
ReactRedux ToolkitNode.jsExpress.jsMongoDBTailwind CSSJWTOpenAI API