All projects

Case study · 01

Reflexx — a quieter way to run loyalty.

A merchant dashboard and mobile companion designed around the rituals of a busy shop owner — campaigns, rewards, statistics, and customer engagement, made calm and legible.

Year

2025

Role

Lead engineer & designer

Surfaces

Web · iOS · Android

Stack

TypeScript · React · React Native · Node

Reflexx merchant dashboard overview showing loyalty, campaign, and engagement data

Fig. 01 — Merchant dashboard overview

§ Overview

Reflexx replaces a fragmented stack of loyalty tools with a single, opinionated product. The dashboard belongs to the merchant. The mobile app belongs to their customer. Both share one language.

Role

I led product engineering and design — from architecture decisions to the smallest empty state. Worked end to end with the founding team.

Technologies

  • TypeScript, React, Next.js
  • React Native (iOS & Android)
  • Node.js, PostgreSQL, Redis
  • Stripe, Resend, OpenAI

§ The companion

A pocketable, deferentialapp for customers.

The mobile companion stays out of the way. Customers see their points, their next reward, and a quiet feed of curated offers from merchants they already trust.

Reflexx mobile loyalty companion showing the customer rewards experience

Fig. 02 — Mobile companion

§ Challenge

Loyalty tools feel busy.

Most merchant platforms accumulate features instead of curating them. Owners drown in dashboards built for analysts, not operators.

§ Solution

A single, calm canvas.

We designed an opinionated dashboard around three daily decisions — who to thank, who to bring back, what to test next. Everything else recedes.

§ Outcome

Adoption that sticks.

Pilot merchants run weekly campaigns without a launch checklist. Engagement is measured by what's repeated, not what's clicked once.

Next

All projects, in their long form.