Skip to content
TV viewLet’s talk
EN
All work

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
BetterTogether daily overview, shared journey and calorie balance.
Current app components with synthetic demonstration data.
Current app interactions: daily overview, calorie balance and entry. Recorded from the actual app components using synthetic demonstration data.
BetterTogether overview in dark mode.
Current app components with synthetic demonstration data.

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.

BetterTogether daily habits and completion states.
Current app components with synthetic demonstration data.

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.

BetterTogether interactive calorie balance.
Current app components with synthetic demonstration data.
BetterTogether calorie entry sheet.
Current app components with synthetic demonstration data.
BetterTogether calorie balance explanation.
Current app components with synthetic demonstration data.

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.

BetterTogether challenge countdown card.
Current app components with synthetic demonstration data.

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.

BetterTogether calorie balance after an entry.
Current app components with synthetic demonstration data.