Napa: habit tracking built on spaced repetition

A mobile app built around spaced repetition. Designed end-to-end in a 2-week sprint: from a chaotic set of developer wireframes to a complete, gamified learning experience.

Napa main screen: the Loops header, a streak banner with repetition days, Today and Tomorrow filters, and the System Design and Algorithms cards
My role
Product Designer
Duration
2-week sprint
Platform
iOS and Android

Overview

Napa is a mobile app built around spaced repetition — a learning method that schedules memory reviews at optimal intervals, so you remember more with less effort.

The client was an independent developer with a solid concept: an app for building any memory habit — vocabulary, formulas, facts — using fully customizable repetition intervals. He came to me with 40 wireframes and a simple ask: make this look good. What followed was a complete rethinking of how the app was structured, navigated, and communicated — delivered in two weeks, cross-platform, within budget.

Napa sign-in screen with the tagline Repeat smarter — remember longer! and the 3D wizard character beside it

The problem

The architecture was built around how a developer thinks, not how a user navigates a daily habit. Three core problems stood out:

  1. Navigation was hidden inside Profile. Categories, all loops, subscription, promo codes — everything lived there. The Profile tab was doing the job of four different sections, and none of them well.
  2. The main screen had no motivational layer. A flat list of cards sorted by date, with no sense of progress or momentum.
  3. The wireframes had significant gaps. There was no Library — no place for users to manage all their loops and categories outside of today’s schedule. There was no onboarding. The subscription flow was a rough reference, not a real design.

Outcome

The client received a production-ready design that covered every screen, state, and edge case:

Process

Four stages of the work: Discovery & IA, Visual direction, UX & UI design, UI kit, logo & app icon

Discovery & IA

Analyzed 40 developer wireframes, identified broken navigation and structural gaps, rebuilt the information architecture from scratch.

A set of black and white developer wireframes: repetition lists, an item detail, a profile screen and a grid of the remaining screens

Site map

This single restructuring decision touched every other part of the design. It’s also what made the bottom navigation make sense.

I rebuilt the site map around how users think, not how the developer coded. The biggest change: everything that didn’t belong in Profile got its own place — Library, Subscription, and a dedicated Create flow.

App site map: splash, log in and sign up, onboarding, the main Loops section, Profile with its subsections, and Library

Moodboard & visual direction

I proposed four visual concepts to give the client a real choice, not just my preference.

Concept 4 — light blue, clean, typographic — was selected.

Four visual direction concepts — green, purple, orange and light blue — each shown on a sign-in screen and a main screen

Onboarding

Each screen introduces exactly one concept. Four screens that introduce spaced repetition through the product’s own language, without jargon.

Four onboarding screens: the idea of spaced repetition, categories and daily limits, customizable strategies, and streak mechanics

Streak widget

A running day count, a small calendar showing hit/miss/empty states, a daily recap card.

Three states of the streak widget: empty with an invitation to start, an active one-day streak, and a three-day streak with locked days and an upsell

Main screen

The developer’s version: a date-sorted list of cards. Functional, but flat.

My version: a daily habit tracker with a streak, filters, and a reason to come back tomorrow.

The main screen in two states: empty for an unregistered user, and filled with repetition cards, next to the create menu
The loop detail screen with current level, next repetition date and schedule, next to a locked state offering an upgrade

Library

Users need a place to see and manage everything they’ve ever created — all loops, all categories, all interval strategies — regardless of schedule.

The Library screen on an iPhone: Loops, Categories and Intervals tabs, and a list of cards with tags

First open

Loops and Categories prompt the user to create their first item. Intervals come pre-loaded with three ready-to-use strategies.

Empty states for the Loops and Categories tabs, and the interval strategy list: Standart, Fibonacci, Number π

Profile

The developer’s Profile tab was a navigation junk drawer: categories, loops lists, subscription, promo codes, delete and restore actions all lived there.

I stripped it down to what Profile should actually contain: personal info, notifications, password management, payment methods, and account actions.

The profile in two states: an unregistered user with a faceless wizard, and a registered one with name, email and streak

Wizard character system

The client had one request: a wizard mascot. A wise old teacher who guides and helps.

I took that concept and turned it into a functional UI system.

The full-body 3D wizard character and five of its states as round avatars
Two avatars side by side: an empty hat with glasses for an anonymous user, and the wizard with a face for a registered one

Subscription flow

Designed the full flow from scratch: benefits screen, plan selection, promo code, payment, active subscription state.

Napa Pro subscription screens: plan selection, annual and monthly tiers, free trial timeline and subscription management