LO
2025 – 2026 · Design Leadership

EARN'M

Lead Product Designer. I set the design direction, the culture, and much of what got built at a fast-moving startup, iterating fast and verifying hypotheses before polishing.
Client
EARN'M, Rafli (raffle and sweepstakes platform)
Years
2025 to 2026
Role
Lead Product Designer, contract, remote
Tools
Figma, Storybook, Claude Code, Cursor, Figma Make

Targets are goals, not measured results.


A team with no design direction, and me to set it

Rafli runs online sweepstakes inside the EARN'M rewards ecosystem, from cash pools to graded collector cards. Every draw uses Chainlink VRF and an on-chain commitment, so anyone can verify the winner. A free entry route exists by law; paid users buy monthly credit packs.

Design had no owner: one freelancer on demand, two business developers and three engineers, no shared visual language. My job: set the direction, spread a design culture, and build much of the product myself.

Several consumer apps under EARN'M each had their own login, wallet and navigation, and were heading for a merger. The parent company, Mode.Inc, spoke to partners, hosts and brands through its website. Design touched product, merger and company brand.

Three product problems, five leadership ones

In-product feedback and community channels pointed to three problems:

Constraint: the business planned to lead pricing with the $25 and $100 packs.

Leadership challenges:


Head of design without the title

Five areas carried the leadership work.

1. First 90 days as design lead

First 90 days in three phases: listen, align, scale
Leadership started with listening. The system came third, after the team agreed on principles.

2. Merging several apps into one

The EARN'M and Rafli merge sat on the parking list with an owner and a review date. I scoped the approach:

Targets: zero lost balances, migration completion above 90% before sunset, support tickets per migrated user below the pre-merge baseline.


What I built, and how

1. Decide what to build next

I ran a remote workshop, "What We Build Next", with business, marketing and engineering. We framed the goal, reviewed the signal, then dot-voted. Three dots each, silent vote first, discussion after.

Rafli · What We Build Next
Priority workshop · Remote · Facilitated by me
AgendaFrame the goal, review the signal, dot-vote, decide the next cycle
VotingThree dots each, silent vote first, then discuss
In the roomBusiness, marketing, engineering
Participant pains, ranked by votes
Low repeat engagement after the first win●●●●●●●●● 9
Onboarding drops off before the first entry●●●●●●● 7
Reward value isn't clear at the point of decision●●●●● 5
Notifications don't bring people back●●●● 4
Community signal never reaches the roadmap●●● 3
What we agreed to build next
Rework first-run onboarding into one clear path to a first entry
Surface reward value on the decision screen, not after
In-product feedback prompts feeding one shared board
Merge EARN'M and Rafli into a single entry flow
Decision Fix first-run onboarding and reward clarity first, since they blocked everything downstream. Competitor synthesis and the merge were parked with owners and a review date, so nothing stayed open-ended.

A recreation of a "What We Build Next" workshop I ran: pains ranked by dot vote, turned into a small, owned set of decisions for the next cycle.

Repeat engagement won the vote, but I argued to fix onboarding and reward clarity first: nobody repeats without a first entry. The room agreed. Competitor synthesis and the EARN'M and Rafli merge went to a parking list, each with an owner and a review date.

Signal behind the vote:

Synthesis: a discovery table and an opportunity tree tied to one outcome, more first entries. Every opportunity carried a test, so hypotheses were verified in short, fast cycles.

Discovery table linking six user opportunities to evidence, solutions, experiments and success metrics
Every opportunity carries its evidence, a solution and a test. Demo content.
Opportunity solution tree from one outcome to four opportunities, five solutions and five experiments
The tree shows why the team built three things and skipped the rest. Demo content.

2. Pricing argued in the room

I sat in the meetings on how to present, onboard and acquire users, and brought working prototypes instead of opinions, so each hypothesis could be tested fast. The business wanted to lead with $25 and $100. I argued to keep both and add an easier way in, because a high entry price kills the first purchase before the product proves itself. I also pushed for pricing per acquisition channel.

Both shipped: a $10 ghost-button entry under the main packs, and channel-based pricing.

Three pricing options compared by gains and losses, option C chosen
Option C kept stakeholder alignment and removed the first-purchase barrier.

How I would build the pricing with full evidence:

Van Westendorp price chart with an acceptable range of $7 to $16 and $10 marked
The entry price comes from users' price thresholds, not from a round number.
Tier ladder from a $10 entry to Starter and Pro, with price per entry at each step
Each step adds one clear reason to move up, measured in price per entry.
Rafli subscription pricing page with Starter $25 and Pro $100 monthly plans
The Starter ($25) and Pro ($100) pricing page, the packs and per-entry discounts behind the pricing conversation.
Pro unlocked confirmation modal: 20% off every entry, 25 free weekly entries, weekly and monthly pools
Pro unlocked, the top-tier confirmation with the full perk set and peak odds.

3. A closed design-to-code loop

One freelancer could not keep pace, so I went hands-on: design, rapid prototypes, frontend and releases, shipped to GitHub's staging branch for engineer review. I worked across three roles: designer, frontend developer, project manager.

Ideas started in Claude, with iteration and research, then got polished by hand in Figma, then moved into code to test in real material. Some started in code and came back to Figma for direction. Each step was a fast iteration to verify a hypothesis before investing in polish.

Mini-games
Rafli mini-games Live prototype · playable Open full ↗
The loss state points to the next draw, without near-miss effects.
Entry confirmation
Entry confirmation Live prototype · playable Open full ↗
Three tiers create a clear hierarchy of reward value at a glance.

4. One system, four homes

I moved scattered files into a replicable system, reused instead of rebuilt. The system kept moving to a better format as the team grew:

Business, marketing and engineering prototyped on the same system with the spec. I reviewed, we fixed issues together, then shipped.

Mode.Inc Design System Live · company-wide brand foundation Open full ↗
The company-wide system the work grew into: the same practice scaled from one product to the global brand.

A design system isn't a component library. It's a set of decisions, written down clearly enough that a teammate or an AI agent can build from them without asking me.

5. AI workflow


What I chose, and what it cost

Pricing entry

Options: lead with premium, replace with a lower price, or keep premium and add a path beneath

Chosen: keep premium, add a $10 ghost-button entry

Gave up: some average order value and a cleaner pricing page

Polish versus speed

Options: keep polishing each design, or build the UI on simple principles and plain graphics

Chosen: simple principles and simple graphics, so ideas shipped fast and each hypothesis was verified before any polish

Gave up: visual polish on early versions. Refinement came after an idea proved itself.

Where the system lives

Options: Figma as the single source, or code and a written spec

Chosen: a Markdown spec beside Storybook

Gave up: Figma as the master file. Review load moved to me.


AI education and onboarding through the design system

Business, marketing and engineering prototyped on the system with the Markdown spec. To scale the practice company-wide I set up, or scoped:

Onboarding path from day one kit to independent contributor in three weeks
The spec turns onboarding into building, so new people contribute in their first week.

Design became something the team owned

What stayed unvalidated:

What I learned:

Role
Lead Product Designer, contract. Design leadership, hands-on design, frontend, product decisions.
Ways of working
Remote workshops, stakeholder management, mentoring, community feedback loops, prioritization sessions
System
Figma → Storybook → Markdown spec → Mode.Inc brand
Tools
Figma, Storybook, Claude Code, Cursor, Figma Make