Inspiration

Projects, habits, notes, and focus timers often live in separate tools. Bringing them together can create another problem: treating every activity as the same kind of task.

QUANTODO takes a different approach. A project needs a plan and measurable results. A habit needs repetition. A note needs a place to stay useful. The aim is to keep those workflows distinct while making them feel coherent inside one personal productivity app.

What it does

QUANTODO connects planning, focused work, and understandable progress.

Projects support time or quantity goals, priorities, timer sessions, and recorded results. Each Project has its own statistics, history, and activity heatmap. For quantity goals, time spent and results achieved remain separate: working for an hour does not automatically mean completing a chapter or finishing ten items.

The user-started Project timer supports planned cutoffs for time goals, a foreground notification, and an optional floating overlay for keeping track of a session outside the app.

Habits support recurring schedules and Timer, Count, or no numerical target modes, with progress and monthly consistency views. Notes offer lightweight priority organization and optional one-time reminders. Achievements provide personal collections for recording milestones.

The app is local-first, with Firebase account authentication and cloud synchronization. It supports English, Romanian, French, Spanish, German, Italian, and Brazilian Portuguese, alongside light, dark, and system themes and layouts that adapt to different screen sizes.

Premium provides more room for creating content, custom measurement units, and extended Project statistics and activity history.

How we built it

QUANTODO is built with Flutter and Dart, using Riverpod to manage application state and connect the interface to feature-specific repositories.

Local repositories preserve account-scoped data before cloud synchronization. Firebase Authentication provides account identity, while Cloud Firestore stores synchronized records and their histories.

RevenueCat connects the Premium experience to Google Play subscriptions and manages subscription entitlement information. Native Android integration provides foreground timer visibility and the optional overlay without becoming a separate source of progress data.

Flutter localization supports the seven-language interface. Automated tests cover domain calculations, synchronization, account transitions, localization, and responsive layouts, complemented by physical-device and Production billing checks.

Challenges we ran into

Keeping offline work safe. Changes made locally must survive a restart and reconcile without duplicating progress or bringing deleted records back. This required clear ownership, stable record identities, and explicit conflict handling.

Keeping one authoritative timer. The app, foreground notification, and optional overlay must present the same session rather than create competing timers. Native Android components handle presentation; the application remains responsible for session data.

Making progress explainable. Time invested, quantity achieved, checklist completion, and habit consistency are different signals. Keeping them separate made both the data model and the interface clearer.

Expanding localization without losing usability. Moving from two languages to seven meant checking meaning, longer labels, text scaling, and smaller screens—not simply translating a catalog of strings.

Accomplishments that we're proud of

QUANTODO is available publicly on Google Play, with its first public Production release on 30 August 2026.

The current release brings together seven-language localization, account-scoped local-first synchronization, Project planning and history, Habit tracking, Note reminders, and a user-controlled background timer experience.

Responsive-layout and accessibility work helped keep important actions reachable as text and screen sizes change.

What we learned

Offline-first behavior depends on explicit ownership and reconciliation rules, not just caching.

Background visibility works better when it presents domain state rather than becoming another data writer. Account identity and store billing identity also need careful separation.

Localization quality is about preserving meaning and usable interactions. More broadly, release engineering—from device checks to billing verification—is part of product quality, not something separate from it.

What's next for QUANTODO

The next focus is continued UX refinement, editorial improvements across the supported languages, and deeper Project progress insights that remain easy to interpret.

The goal is to improve the existing experience without making everyday planning more complicated.

Built With

  • android
  • cloud-firestore
  • dart
  • firebase-authentication
  • flutter
  • flutter-localizations
  • google-play-billing
  • kotlin
  • revenuecat
  • riverpod
  • sharedpreferences
Share this project:

Updates

Submission history