Built for Everything

Napoz is a social mobile app where anyone can start a group challenge — from a 30-day streak meditation to a friendly burpee contest or a neighbourhood café hunt — invite others to join, and share progress together.

Problem
To grow beyond its early users, Napoz needed a stronger participation loop. But creating a challenge took 10 steps and 5 minutes.
Role
Sole product designer — user research + redesign + design system
Team
Sole designer · partnered with founder + 2 engineers
Timeline
Jan 2024 – May 2025 · phased rollout
Outcome
5 → 1 min challenge creation time · +34% active users on Create
Key Contribution
Defined 3 challenge types; rebuilt the design system; introduced AI-assisted creation
Platform
Mobile · React Native
People had ideas. Creating them was the hard part.

To increase engagement, we looked at product analytics screen by screen. Create Challenge stood out:

Interactions
1,196
Active users
46
Average creation time
0:00min

The numbers were a signal, not an explanation. I tried the flow myself and conducted user research to understand why.

What we found

  1. 10 steps before an idea could go live
  2. Decision fatigue from rules, measurement, difficulty, expiry, and other micro-choices
  3. Too much writing for someone who simply wanted to share an idea
  4. Broken momentum from leaving the flow to hunt for a cover image

User interviews confirmed the pattern: Creating a challenge felt difficult and time-consuming.

The redesign for challenge creation flow
When flexibility became friction

Napoz needed to support wildly different challenges without making people configure every possibility.

The problem wasn't a lack of ideas. It was how much work stood between an idea and “Post.”

Napoz had tried to support almost any kind of challenge by giving creators more options. But flexibility had become configuration: rules, measurements, difficulty, expiry, images, copy — a dozen small decisions before anything could go live.

Instead of redesigning ten steps, I looked for the structure underneath them.

That led to three underlying models: Rank, Streak, and Participation. They gave an open-ended product enough structure to become simple.

As I rebuilt Create, I realized the existing design system couldn't support the product we were designing.

The library had inconsistent typography and color, production had drifted from Figma, and key components were missing — engineers sometimes created them directly in code.

So I rebuilt the system: a new brand color, new type system, expanded component library, and clearer rules for how the product should look and behave.

Move complexity into the system

The redesign moved complexity out of the user's path at three levels: simplify the challenge model, rebuild the shared interface system, and reduce the effort required to create.

Three types, almost any challenge

Every challenge asked for the same setup, whatever it was: turn on a leaderboard, name its points column, pick how points are earned, write the point rules, set a sort order, rate the difficulty. All of it before you had described the idea itself.

The redesign asks what kind of challenge it is, and the screen answers with only the settings that kind needs.

The old Create Challenge screen — leaderboard setup, points column title, three scoring modes, advanced point rules, sort order, and a difficulty rating
Before — Create Challenge
×New ChallengeNext
Cover
+ Add cover
Challenge name
Description
Type
RankStreakParticipation
Scoring
MetricBest score
Unitreps
Higher is better
LeaderboardOnOff
Everyone submits one best result.
Create challenge
×New ChallengeNext
Cover
+ Add cover
Challenge name
Description
Type
RankStreakParticipation
Duration
Length30+
Check-inEvery day
Rest days allowed
LeaderboardOnOff
Show up every day until it ends.
Create challenge
×New ChallengeNext
Cover
+ Add cover
Challenge name
Description
Type
RankStreakParticipation
Goal
MilestonesOne-time
Target10+
Count byPosting
Each post marks one step toward your goal.
Create challenge
After — by type

Proving AI before asking the team to build it

Napoz AI

Even after simplifying the framework, creation still asked people to write. I proposed an AI-assisted path, but the founder initially pushed back on model cost and engineering effort.

I worked with engineering to test a lightweight implementation and brought back a functioning text-generation prototype instead of another pitch. That changed the conversation. The feature was approved and shipped.

And AI got its own color. The drafter speaks cobalt — deliberately separate from the coral brand — so an AI action never masquerades as an ordinary one, and you always know when the machine is writing.

First iteration — a bare Napoz AI sheet with placeholder copy and a disabled Confirm
Second iteration — describing a streak challenge in one typed line
Second iteration — reviewing the drafted title, prompt, and cover before publishing
First iteration

One Challenge object adapting across Explore, Home, Challenges, leaderboard/progress

Coral — category & brand Cobalt — earned figure Ink — the one dark surface

Challenge Card

Discovery + relationship

"Should I join this?" → "How am I doing?"

Hero & tile — raised
♟ Creative3 Friends Joined

Golden Hour

"every shadow deserves a witness."

2.4k in
Streak

Pasta Week

1.1k in · 5d left

Status row — by state
Golden Hour
Creative · 4d left
#405
1.3k in
Saturday Bike ClubYou Host
Performance · 12d left
First Coffee
Ended 2w ago  ★ Winner
#1
1.3k in
30 Day Pull-upsDraft
Not published
Resume →

Post Card

Feed · flat

"What's happening?"

Golden Hour4 days left
Ranked #3
@mira.lens2h♡ 1.3k

Reservoir bridge, 7:42pm. Wind was wild today.

Golden Hour4 days left
@mira.lens2h♡ 1.3k

Reservoir bridge, 7:42pm. Wind was wild today.

Inspiration Card

Prompt · ink

"What could I start?"

The Idea Of The Day

Same shot, 7 days.

Pick a spot you walk past every day. Photograph it at the same hour. The week tells a story you didn't plan.

1.2k like this

Standing

Relationship · flat

"Where do I rank?"

6 AM Club
#2of 814
↑1 this week
6 AM Club
#2of 814
↓1 this week

Every token got a job

The existing library had inconsistent typography and color, and production had drifted from Figma. I rebuilt the foundation from tokens up.

Color
Before
Light Blue
#C3E7F5
Dark Blue
#9AD6EE
Accent
#16A9E4
Gold
#F1C34B

Three cool blues and a gold. Which one is the brand? No color owned a job.

After
Coral
#FF4760
Brand
Cobalt
#2F4BFF
Earned
Ink
#0A0A0A
Text
Sand
#F2F0EA
Surface

Coral = brand & category. Cobalt = figures you earn. Each color, one job.

Type
Before
Explore
Xavier, Amir and 4 others are doing this.
Helvetica Neue · Plus Jakarta Sans

Generic faces, flat hierarchy.

After
Explore
Xavier, Amir and 4 others are doing this.
Heading 1 · Work Sans Medium
Gabarito display · Geist body

Gabarito + Geist — a named ramp with set weights and tracking.

Buttons
Before

One pale light-blue button doing every job.

After

A real hierarchy — primary, secondary, ghost, text, and the create FAB.

Inventory
Before
ColorsTypeButtonsChipsFormsAlertsIconsSpacing

8 starter groups — foundations only.

After
Running
PostsStats
#2
12d
✦ AI
Creative

50+ elements across 8 domains — rank, streak, leaderboard, and the cobalt AI badge.

Design highlights

The same feed, finally in one language

The old home stacked friends' posts and live challenges into one ambiguous list under a heavy wordmark. The redesign splits Friends from For You and gives challenges their own card — countdown, rank, category — so a commitment never reads like a casual post.

Old Napoz home — a friend's post in the undifferentiated feed
Before — Home Feed Post
Old Napoz home — a challenge rendered in the same card style as a post
Before — Home Feed Challenge
New Napoz home — Friends / For You tabs and distinct challenge cards
After

Past the home feed, the same challenge object holds its shape across every surface people use — discover it, track it. Before on the left, after on the right.

Discovery, not a directory

Explore was a dense list filtered by Active and Expired. The redesign leads with a featured challenge and social proof, sorts by Trending / New / Ending soon, and puts Join one tap away.

Old explore — a flat list of image rows with an Expired tab
Before
New explore — featured hero, social proof, and Ending soon sorting
After

Every challenge, one object

The Challenges tab buried one giant card per challenge. Now each is a compact row carrying the same metadata everywhere — category, time left, participants, your rank — so seven active challenges fit on one scannable screen.

Old challenges tab — one bloated card filling the screen
Before
New challenges tab — Active / Past counts and consistent scannable rows
After
Less configuration. More creation.
5 → 1 min
average challenge creation time
+34%
active users on the Create Challenge screen
50+
reusable elements in the rebuilt component library

Napoz still supports wildly different challenges. Users just don't have to configure every possibility themselves.

Napoz is live on iOS and Android — see it on the App Store.

Next project
Hidden in Plain Sight — Microsoft