Skip to content
JIHYEON JANG

Fini

An accountability companion for the plans no one else is waiting on.

Role
Design Engineer
Tools
Cursor, SwiftUI, Apple HealthKit, Supabase, Anthropic API, Figma
Focus
Agentic Engineering, Bio-adaptive UX, Cognitive Load Management

Overview

Personal plans deserve the same accountability as everything else on your calendar.

Fini is an accountability companion for the plans you make to yourself. The portfolio you keep meaning to update. The skill you wanted to learn. The plans no one else is waiting on.

Product Highlights

Understands your energy.Helps you start.

Fini reads your daily energy using signals from Apple Health. When your energy is low, it breaks tasks into smaller steps to help you get started.

Fini reads Apple Health signals and breaks tasks into smaller steps when energy is low
Voice and intent: Fini turns what you say into a prioritized plan

Say everything on your mind.Fini turns it into a plan.

Describe what you need to do in your own words. Fini understands your intent and turns it into a prioritized task plan.

Next step on Apple Watch, glanceable, focused forward motion

Your next step, on your wrist

Fini brings the right next step to your Apple Watch so you can stay focused and keep moving forward.

The Problem

The plans that shape who you become are always the first to break.

Look at the plans you finished this week. Then look at the ones you didn't. The pattern isn't random. The plans that finished were the ones with external accountability. The 10am meeting. The deadline your manager set.

But the plans that fell through had no deadlines, even though they were the ones that actually grow you.

PLANS THAT FINISHED

External accountability

  • Team standup
  • Client deadline
  • Wednesday class
  • Doctor's appointment

Completed on schedule

PLANS THAT DIDN'T

Internal accountability

  • Update portfolio
  • Study Swift
  • Side project
  • Daily writing

Postponed indefinitely

Research

Why does this keep happening, even to people who genuinely want to grow?

I ran a 6-day diary study to see what people actually do when they're alone with their own goals.

3Participants
6Days each
Daily check-ins
5Patterns found

Each participant logged energy, mood, intended tasks, and what they actually finished, twice a day. Three findings reframed the entire problem.

01

The accountability gap is real, and it's binary.

On the same day, with the same available time, participants completed nearly 100% of externally driven tasks (meetings, classes, deadlines) while postponing self-initiated tasks again and again.

Structured, externally driven tasks were consistently completed. Self-initiated tasks were frequently postponed. Users rely heavily on external accountability to maintain consistency.
Diary Study · Behavioral Pattern A

The pattern is structural. Every work commitment lives inside a system of reminders, calendars, and witnesses. Self-promises live alone.

02

Starting is the hard part.

Once participants began a task, momentum sustained itself. The breakdown happened at the activation threshold. Vague tasks ("study," "work on portfolio") collapsed first because there was no concrete first step to execute.

The hardest step is starting. Once started, users sustain momentum easily. Vague task descriptions led to avoidance and procrastination.
Diary Study · Behavioral Patterns 3 & 5
03

Capacity is measurable. Intention isn't.

The most consequential finding: participants abandoned plans when their biological capacity ran out, regardless of how much time they had left. Poor sleep, low recovery, and accumulated fatigue predicted abandonment more reliably than mood, motivation, or schedule density.

Recovery quality depended on sleep quality and emotional stability. Anxiety, stress, and sleep deprivation caused procrastination even when energy levels felt high. Users consistently overestimated their daily capacity, leading to over-scheduling and task fatigue.
Diary Study · Insights A, B, D

People plan with their aspirations. They execute with their biology. Biology is the half of that equation already being measured every minute, by the device on their wrist.

Systems Architecture

Let's see the Big Picture!

Fini does two things. It gives self-initiated plans external accountability. It anchors every plan to the biological capacity your body actually has today. Before writing a line of SwiftUI, I mapped how those two promises had to flow through one shared engine.

At the heart of that engine is a single number: how much your body can actually carry today.

The Logic: Quantifying Capacity

Sleep, HRV, and Activity flow into a single function. The output is a personalized energy score that tells the plan what your body can actually carry today.

Inputs → f(x) → Energy Level
Sleep Quality
0.82score
Sleep depth · consistency
HRV
72ms
Heart rate variability
Activity Level
6.5ksteps
Steps · exertion
f(x)
Energy Level
/ 100
Awaiting input signals…
flow

The Product

Three behaviors. One companion.

Each behavior maps directly to a research finding. Every screen earned its place in the diary study.

01

ANSWERS INSIGHT 03

Reads what your body can actually do today.

Fini pulls sleep, HRV, and resting heart rate from Apple Health and computes a daily capacity score. On a low-capacity day, the plan adapts: a 90-minute deep work block becomes a 15-minute review. The day still moves forward.

Capacity-aware planner adapts task scope to today's energy
02

ANSWERS INSIGHT 02

Lowers the activation barrier to nearly zero.

Manual task entry is a tax on people who are already depleted. Speak what's in your head; Fini parses, prioritizes, and breaks vague intentions into concrete first steps. 15 minutes of planning becomes 30 seconds of speaking.

03

ANSWERS INSIGHT 01

Becomes the witness your self-promises don't have.

Work has Slack, calendar invites, colleagues asking where things stand. Self-initiated work has none of that. Fini surfaces the next step on your wrist in the moments you'd otherwise drift, the way a calendar invite makes a meeting visible.

Apple Watch surfaces the next concrete step at the right moment

Build & Iterate

From hypothesis to working system in 24 hours.

Static mockups can't reveal whether a behavioral system actually works. With a clear PRD and the architecture mapped, I shipped a functional V1 in a day and put it in front of users.

approach

24-hour validation loop

I designed in Cursor with the inference layer wired live, so user testing could run on real bio-data the next morning.

Hour
0
0
0
0
Hour 0 – 21 / 6

PRD & Architecture Planning

Clarified the product hypothesis with ChatGPT, drafted a short PRD, and defined color, font, and system architecture in Cursor Plan Mode.

v1

What broke under real use

User testing surfaced four gaps no Figma file would have caught.

v2

Each gap, addressed

Every change traces back to a specific user-testing finding.

01

Voice Task Entry

To eliminate the cognitive load of manual entry, I implemented Voice Capture. An Edge Function parses natural language into categorized, energy-weighted tasks, removing the friction of planning.

02

Making It Easier to Start

Energy-Matched Breakdown turns large, overwhelming tasks into small, doable steps based on real-time energy, so users can take the first step, even on low-energy days.

03

Making the system visible

I redesigned the Hero Section to surface raw bio-data (HRV, Stress, Sleep). When the system's reasoning is visible, the AI feels trustworthy. Choosing what to surface became the central UX decision.

Making the system visible: before static UI vs after data-driven interface with bio-signals
04

Optimizing the Bio-Inference Model

The initial energy model was skewed by workout data, leading to inaccurate scheduling. I directed Cursor to re-engineer the data ingestion layer, prioritizing Resting Heart Rate for biological accuracy and adding query caching to cut system latency.

HealthKitService — cursor-agent

UI latency

840ms → 95ms

Async HealthKit fetch + cached inference reduced the visible wait.

Cache policy

1 hour TTL

Avoids repeated HealthKit reads during navigation and refresh.

Model signal

Resting HR

Prioritizes biological baseline over workout-influenced averages.

v∞

Solving the edge cases

User testing keeps running. Each edge case ships back into the model and the UI.

Smart Estimation — edge case when bio-data is missing and 7-day pattern fallback
Beyond the Smartphone — Fini extended to Apple Watch for a zero-barrier next step

Impact & Vision

Help people keep promises to themselves.

Through structure that adapts to how their body actually works, and accountability that finally exists for the plans no one else is waiting on.

What I gained

Merging design and engineering into one person collapsed the iteration loop from days to hours. The design got better because the engineering kept pushing back.

View my note →

What's next

App Store launch. Goal: 500 users and a 4.5★ rating in month one.