Inspiration

I’ve always been fascinated by the psychology of habits. Most habit trackers felt either too superficial (just ticking boxes) or too punishing when you missed a day. I wanted something that captured real progress — the good and the bad — while still keeping you motivated. That’s how Pact was born.

What it does

Pact is a habit tracker that uses a unique check-in system. Each day, you can log a Positive or Negative check-in. Positive earns you points, Negative subtracts. Streaks start on the first positive check-in, and they reset if you miss a day or slip up. The app gives you a GitHub-style history grid, stats, scores, streaks, and a Today View so you always know where you stand.

How we built it

I built Pact as a solo project in SwiftUI, with all design, logic, and development done from scratch. The check-in engine was the most intricate part — handling scoring, overwrites, streak resets, and even future check-ins. I also spent time designing a clean onboarding and a simple UI that works in both light and dark mode.

Challenges we ran into

Designing the scoring + streak system was tricky. I wanted it to feel fair and motivating, not discouraging. Getting the logic right for multiple check-ins per day, retroactive changes, and stats took several iterations. Balancing “accountability” with “flexibility” was another big challenge.

Accomplishments that we're proud of

  1. Built and shipped my first iOS app end-to-end.
  2. Designed a unique habit check-in model that doesn’t exist in other trackers.
  3. Learned to balance product thinking with engineering, iterating on what would keep users motivated.

What we learned

  1. Building products solo is as much about scope management as coding.
  2. Users don’t just want to track habits; they want to feel honest progress.
  3. Small UX touches (like onboarding or score resets) make a huge difference in engagement.
  4. My experience as a developer turned product owner in my full-time job really helped me manage this project

What's next for Habit Tracker: Pact

There's a lot I've thought of, but the top of my list includes

  1. Reminders & notifications to nudge consistency.
  2. Home screen widgets (interactive)
  3. Smarter insights powered by the check-in history to point out trends, etc..

Built With

Share this project:

Updates