CASE STUDY

Check! — a minimalist habit tracker

A mobile app built on a single rule: one tap a day for every habit you want to keep

← Realizacje
Rok
2024
Czas
Iterative development
Klient
Mobilesoft in-house product
Branża
Productivity / lifestyle

The challenge

Most habit trackers suffer from feature bloat: mood sliders, journals, gamification. The more you have to tap through, the sooner people quit. We wanted a tool that does one thing honestly: it records whether, on a given day, you did what you promised yourself.

The solution

Check! lets you tick off each tracked item exactly once a day — that limit is deliberate, because it keeps the data honest. Every item has a goal (300 days by default, configurable from 30-day sprints to open-ended streaks), a last-30-days chart and a progress bar. A missed day can be filled in retroactively up to 30 days back — so a single oversight doesn't break your streak. Items are organized with tags, filters and drag-and-drop, and the daily stats view shows your consistency across all habits at once. The system runs on two platforms sharing the same account and data: a Flutter mobile app and a full web app (PWA) at dailycheckapp.com, synced through Firebase.

The outcome

The app is available on Google Play and as a full-featured web version at dailycheckapp.com — the same habits, goals and history on your phone and in the browser.

Co zbudowaliśmy

Android

Flutter app

Flutter — a fast, single-screen check-off flow, 30-day charts, tags and drag-and-drop sorting. Account and data sync via Firebase Auth, monitoring through Crashlytics and Analytics.

Frontend Web

Web app (PWA)

The full web version at dailycheckapp.com — React + Vite, installable as a PWA. The same functionality as on mobile: check-offs, charts, tags, drag-and-drop, daily stats, plus CSV history export and an interactive tutorial. Google OAuth and email sign-in with account linking, shared data with the mobile app (Firestore), cross-platform auth — move from mobile to web without logging in again (custom tokens via Cloud Functions). PL/EN interface.

Stack technologiczny

DartFlutterFirebaseReact

Galeria

Efekty

1
Tap a day per habit
30days
Backdated entries
300days
Default goal