Skip to content

A pomodoro app built with flutter, and Yaru widgets.

License

Notifications You must be signed in to change notification settings

peter-kal/focuzd

Repository files navigation

focuzd

Dark Mode

main page

Light Mode

main page

Break

Get it from the Snap Store

A new pomodoro app, built with Flutter, the goal is to make a feature-equivalent to Pomotroid. Pomotroid uses electron, which makes it pretty heavy, slow to start, and resource intensive. Flutter will solve these issues while also looking nice, and later more features as well as more platforms will be added.

Pomotroid / Focuzd comparison

  1. CPU Usage: Due to Flutter apps being natively compiled in machine code, the performance of Focuzd far exceeds that of Pomotroid, which is based on Electron, so every time you use it, it's like opening a chromium tab. Testing on my device, with the countdown on, the CPU Usage was the following:
  • Focuzd: 0.43%

  • Pomotroid: 9.59%

    Comparison on System Monitor

  1. Download Size (Snap Store Data):
  • Focuzd: 12.53 MB

  • Pomotroid: 67.08 MB

  1. architecture availability
  • focuzd : arm64, amd64
  • pomotroid: amd64 only
  1. Update Status: Pomotroid hasn't seen any update since 9 February of 2021

For release 1.0

  • Feature equivelant to pomotroid

    • start pomodoro sessions

    • show time remaining

    • show how many sessions you have done in this round

    • go to the next session

    • reset the session

    • skip the session

      • change the time lentgh of focus time

      • change the time lentgh of break

      • change the time lentgh of long break

      • change the number of rounds

      • have desktop notifications

      • autostart work timer

      • autostart break timer

      • memorise the setting's changes

      • make the window be always on top(opt in)

      • reset changes to default

  • publish to snapstore

    • snap the app(unfortunately in core22 for now)
    • publish the edge-beta
    • publish in stable
  • solve the bloc-db problem

  • revamp settings page to be more user-friendly

  • fix issue, Next() not working properly when not skipping

    for release 1.1 minor release

  • add greek language support

  • consider adding a circular progress indicator along with the countdown

  • display finish time

for release 2.0(still thinking)

  • Release 2.0 ( changing 1.9 release to 2.0 with extra feature )

    • add statistics and history base support

    • thus clean and improve the db

    • make the db file app specific, better breaking db compatibility now than later, maybe think of a migration strategy

    • create the history & statistics page

      • See total work(focus break) time
      • See charts for week / month / year
      • See about each topic *, and quality view in general(all subjects)

    *:

    • Add Subject/topic support

      • Each Subject should have sub-subjects, and super-subjects, ex: School -> Sciences -> Mathematics -> Algrebra & Geometry etc.

      • The working subject should be visible on the main page

      • Subject should be optional, and the UI shouldn't be invasive

      • Together with Subjects, Goals should be implemented.

        • Goals should be quantity-only as well as quantity-quality, so you have to be able to set a goal of 6 sessions / week, and a goal of 6 sessions of Mathematics(/Algrebra) / week. Another idea is having a quality-relation type of goal, example: 2 sessions of Mathematics/Algebra / 1 session of Mathematics/Geometry
        • Send notifications when a goal is completed

    (more to come)

    • migrate snap to core24