All Projects

Academic project · Mobile design · 8 min read

Read: One page. At a time.

A habit-forming reading app for first-time readers, designed around small daily goals, visible progress, and earned rewards.

Role

End-to-end UX

Timeline

16 weeks

Type

Academic project

Tools

Figma · Miro · Lovable

Read app splash screen with the wordmark and the tagline “One page. At a time.”Read app home screen showing a 6-day streak, 500 pages read, today's reading goal, and rewards progress

The gap

The data shows a quiet crisis of unread books.

63%

of adults want to read more than they currently do

29%

of started books are abandoned before completion

12

average books per year, and declining

30%

of readers feel guilty about unfinished books


The solution

Don’t sell them books. Help them become readers.

Three core experiences across the daily reading loop: each making progress visible at a different scale.

01

Set today

How long today?

1510153060

Today

10 min

Daily target from 1 min to 60. Calibrated to the user's pace.

02

Session complete

Nice work today.

Time

18 min

Pace

170 wpm

Pages read

11 pages

Invisible progress made visible: minutes, pace, pages.

03

You earned

A new badge.

6

Day streak

Badge unlocked

Indiana Jones · 200 pts

Streaks, badges, and curated rewards compound over time.


Design strategy

Designing for habit formation, not consumption.

Trigger

What brings them back

Internal: the pull of an unfinished book. External: timed pushes and home-screen widgets.

Action

The simplest behavior

Open the app, hit start, read. One button press to a daily session.

Variable reward

Fulfilling, never the same

Stats, streak status, an occasional gift card or new badge: different feedback each time.

Investment

Why the next session is richer

Streaks accumulate. Stats build a profile. Monthly summaries show the reader being formed.


Usability findings

What testing surfaced that research alone wouldn’t have.

01

The features that mattered most were already invisible.

The reading timer, the current book, and the daily goal all existed in the prototype. Participants simply never noticed them. "It also has a timer, so I get to know I reached my goal, but I had to ask," one participant said. The fix wasn’t new features. It was surfacing what had already shipped.

02

Settings hid behind Rewards, and no one found their way back.

Updating a daily goal meant guessing it lived inside the Rewards tab. "I went to rewards to see if there were different ways to go for my rewards… that opened to Settings," one participant said. This was flagged as a real open issue for the next round, not one fixed in this pass.

03

Confidence and task success aren't the same signal.

Participants rated themselves 4-5 out of 5 on tasks they only partially completed. Self-reported ease has to be triangulated against what people actually did, not just what they say they felt.

From the usability study

“I went to rewards to see if there were different ways to go for my rewards… that opened to Settings.”

P1

Participant · Usability study

5-participant moderated study, April 2026


Iteration 01 · Modify

The reading timer wasn't doing its job.

The timer is the clearest live signal that a session is being tracked, but it sat small and bottom-anchored. Participants didn't notice it mid-session and didn't trust their progress was being recorded.

Before

Before: reading screen with a small timer pill in the bottom-right corner

After

After: reading screen with the timer moved to the top next to the book title and chapter

What changed: Moved the timer to the top of the reading screen, paired it with the book title and chapter, and wrapped it in a progress ring so the in-progress state is impossible to miss.


Iteration 02 · Adapt

The home screen didn't say what you were reading.

The hero card on Home is the first thing every visit shows, but it only displayed the daily goal, not which book was in progress. Participants said this would confuse them if they were reading more than one book at a time.

Before

Before: home screen hero card showing only the daily goal, with no book information

After

After: home screen hero card showing the book cover, title, chapter, and streak

What changed: Rebuilt the hero card to lead with the book itself: cover, title, chapter, and a day-by-day streak strip, alongside the daily goal.


Iteration 03 · Combine

Setting a daily goal meant typing a number into an empty field.

Onboarding asked people to set a reading goal with no guidance on what a reasonable number even was: every participant had to guess.

Before

Before: goal-setting screen with only an empty minutes field

After

After: goal-setting screen with preset minute pills added above the field

What changed: Combined preset pills (1–60 minutes) with the free-text field, so most people tap once while anyone with a different routine can still type their own value.


Iteration 04 · Substitute

“Claim It” promised a prize and delivered a share sheet.

The rewards screen's top CTA read “Claim It,” but tapping it opened a social-share flow, not a reward. Participants expected points, not a prompt to post.

Before

Before: rewards screen with a 'Claim It' button that actually opens a share sheet

After

After: rewards screen with the button relabeled to 'Share'

What changed: Renamed the CTA to “Share” and surfaced the points-for-sharing value inline, so the label matches exactly what happens next.


Usability testing

Validated with real readers, not assumptions.

5 moderated sessions over 2 weeks, run over Zoom against a Figma prototype. Tasks were structured around the Hook Model (Trigger, Action, Variable Reward, Investment), so testing covered the full habit loop, not just individual screens.

5

Participants

76%

Task success rate

85%

Avg. confidence & ease

10

Core tasks

60

Net Promoter Score

28

Issues found & triaged by severity


Biggest learning

The most damaging issues weren’t structural: they were one-word labels that mismatched what people expected. Words ship cheaper than rebuilds.