DEV Community

Karthik Shabari
Karthik Shabari

Posted on Edited on

My “30-minute tasks” kept taking an hour. So I built a Flutter app to stop guessing.

Hey Everyone, just want a ask as question do you ever finish everything on your to-do list and still wonder where the day went?

That’s the gap I wanted to understand.

I’d give a task 30 minutes. It would take an hour. Something else would get pushed back. Then I’d plan tomorrow with the same optimistic estimates.

The task was done, but I wasn’t learning much from doing it.

So I built Personal Planner: a place to plan your day, track the work, and look back at how it actually went.

It’s my first independently released app, built with Flutter.

What happens when the plan meets the day?

Imagine blocking 30 minutes to fix a bug.

You start the task timer. You investigate, try a fix, realise there’s another issue, and eventually finish after 65 minutes.

In Personal Planner, you can compare those 30 planned minutes with the 65 you actually spent.

During your review, you can add the missing context: perhaps debugging took longer, you underestimated the scope, or you were interrupted.

Next time you plan similar work, you have a record to refer to.

That’s the part I care about most. A completed checkbox is useful. Knowing what that task took is useful tomorrow, too.

Plan → work → look back

Here’s the everyday workflow:

  • Give tasks room on a timeline. Block time visually in the day or week view.
  • Start a timer when you begin. Pause and resume it as you work.
  • Compare the estimate with the result. Keep planned and actual time visible.
  • Review the day or week. Look through your tasks, tracked time and your own notes before making the next plan.

There’s also an inbox for things you haven’t scheduled, recurring tasks, reusable templates, and heatmaps and streaks to look back at your activity.

For routines you want to test, Experiments lets you track tagged work over a chosen period.

A little about the build

The app uses Riverpod and Drift/SQLite, with data stored locally.

One useful distinction in the implementation is keeping the scheduled task separate from its timer sessions. A calendar block describes the plan; the sessions record the work. Pausing a timer or spending longer on a task shouldn’t blur those two things together.

The timeline watches task changes through Riverpod streams, with database access handled through repositories.

Local use works offline and needs no account. Optional cross-device sync uses your own Supabase project and requires setup and sign-in.

Give it one ordinary day

You don’t need to move your whole workflow over to see whether it helps.

Try planning a few tasks, track them, and open the daily review afterward. See whether the difference between your estimates and your actual time tells you anything useful.

Personal Planner is free, MIT-licensed and available for Windows, Linux, macOS and Android. There are no subscriptions or paid feature tiers.

See the demo and get the app

Explore the source on GitHub

If you try it, I’d love to hear which part feels useful—and which part gets in your way.

What’s the task you always think will take “just 30 minutes”?

Top comments (4)

Collapse
 
alexshev profile image
Alex Shev •

Estimating from completed work instead of intuition is the right feedback loop. It would be interesting to separate focused elapsed time from calendar time too; interruptions and dependency waits are valuable signals, but they need different fixes than the task itself.

Collapse
 
kash_0613 profile image
Karthik Shabari •

Yes that was the main reason I built this :),btw have you tried the app what are your inital thoughts?

Collapse
 
alexshev profile image
Alex Shev •

That separation would make the estimates more actionable. I would also preserve an interruption reason when a task crosses a session boundary—waiting on review, blocked by a dependency, context switching, or a genuinely larger scope. Over time the app can show whether the estimate is wrong because the work was mis-sized or because the calendar is fragmenting the focused time.

Thread Thread
 
kash_0613 profile image
Karthik Shabari •

Yes you can add log/reasons for each task that crosses so you can be more accountable with yourself