Habit tracking and shared routines
BetterTogether. Habits, meals and movement in one daily view
A working app for couples to track habits, record calorie intake and exercise, and follow a shared challenge. Its daily dashboard connects individual entries to a joint streak, rewards and progress over time.
- Contribution
- Product strategy, UX/UI and implementation
- Project status
- Published Flutter Web/PWA
- Period
- 2026



Current app components and interactions, demonstrated with synthetic data.
My contribution
BetterTogether brings the small records of a daily routine into a shared challenge: mark a habit, add a meal’s calories, log exercise and return to see what changed. I worked on the product strategy, UX/UI and Flutter implementation.
The app gives each person a daily view while keeping the pair’s journey visible. The design work concentrates on the relationship between an action, its recorded result and the progress the interface shows next.
Give every entry a day
The date strip changes the dashboard’s habit records and calorie totals together. A person can return to a previous day, inspect its records and add an intake or exercise entry for that selected date.
Habits have their own focused screen, with a date selector and completion controls. A tap updates the state immediately; if saving fails, the app restores the previous state and explains that the record could not be saved.

Make the calorie calculation readable
Intake and exercise are entered manually through a numerical sheet. The calculator brings those records into a visual relationship with the configured daily target, using a ring, a signed result and contextual guidance.
A second calculator view explains the terms behind the display: metabolism, intake, exercise and the target. Colour distinguishes progress, reaching the target and going beyond it. The person can inspect the calculation from the same component where the result appears.



Define what counts as a day together
The joint streak has a specific rule: each participant must complete at least one habit and record intake or exercise on the same day. The interface shows the current streak, the longest streak and whether today already counts.
A horizontal carousel keeps the challenge, countdown and locked reveal within reach. Rewards provide milestones along the shared journey. When the final reveal becomes available, it moves into a larger surface with a retrospective of the challenge.

Carry the feedback through the app
The implemented visual system uses neutral surfaces, warm orange, rounded typography and grain. Light and dark themes carry the same hierarchy across the dashboard, numerical sheets and progress views. Press feedback, changing numbers and page transitions connect the states.
Challenge settings also make data visibility explicit: private or shared between the participants. The creator controls that setting, and the invited person inherits it. My work connects these interface decisions to the Flutter app and its Supabase-backed records.

