Skip to content

Case study

Apexevo

A habit tracker built as a role-playing game. Daily consistency earns experience, tracks level up over months, and a contribution heatmap makes a broken streak visible.

Overview

A habit tracker that borrows its mechanics from role-playing games. Logging a session earns experience, each area of life is a track that levels independently, and a contribution heatmap in the style of a commit graph makes a broken streak impossible to ignore.

The design deliberately rewards consistency over intensity. Early levels arrive quickly so the habit forms; later ones take months of unbroken discipline, so the reward curve matches the behaviour it is trying to produce rather than the behaviour that feels good to ship.

What I own

The concept, the design document, three staged implementation plans, and the Flutter application itself.

Complexities tackled

Deciding what not to build into an existing product. This started as a feature idea for Sortive and was deliberately split out. Sortive is a frictionless productivity tool; a gamified system is the opposite of frictionless. Merging them would have made one app that was worse at both jobs. Separating them cost a second codebase and was still the right call.

Designing a reward curve rather than a reward. Points that arrive at a constant rate stop meaning anything within a fortnight. The progression is exponential, so the early levels hook and the later ones take real time, and side missions carry small awards so that a partial day still counts for something. Getting that curve wrong is the difference between an app someone opens for a week and one they open for a year.

Local first, then synced. State lives in Hive on the device so the app is instant and works with no connection, with Firebase behind it for accounts, cross-device state and the social comparison features. A tracker that stalls on a spinner when you have thirty seconds to log a session does not get used.

Stack

Flutter and Dart, Riverpod for state, Hive for local persistence, Firebase Authentication, Cloud Firestore and Cloud Functions, go_router for navigation, flex_color_scheme for theming.

Working on something similar?

Tell me what you are building and what is in the way. I will tell you honestly whether I am the right person for it.

Start a conversation

Last updated: