← All work

Internal███████ ███████·NDA

2024 – present · Frontend lead + IC

admin portal.

Dense enough for power users. Usable enough for the store owner checking their phone between customers.

DashboardTablesReportsMobile parityRetail SaaS

Dashboard

What changed today, at a glance.

$1,247

Sales today

+12% vs yesterday

This week

$8,432

+8% vs prev

Avg order

$42

+2% vs prev

Top seller

Sourdough

142 sold

Alerts

2

1 low stock

the dashboard — what changed today.

01Premise

the admin that wasn't there.

The platform shipped a working register and a mature backend, but merchants had no unified place to see their business or control their catalog safely. No dashboard. No reports. No mobile. No review step before price changes hit registers and the webstore.

Built for the desk, lived on the phone.

The thesis

02Build

every surface they actually open.

Dashboard with KPIs and channel breakdowns. Reports with date filtering and comparison overlays. Alerts. Inventory views. A login that loads on an iPhone SE. Tables that stay readable while staying customizable. A price-batch queue that stages changes before they go live. Each surface earned its scope — built in tandem with the design system it sat on.

03Constraint

the same admin on every screen.

The hardest thing wasn't any single feature — it was holding mobile parity across all of them. The queue is tabular. The dashboard is chart-first. The settings flow is form-heavy. Each demanded a different physical model on a phone — cards instead of rows, stacked sparklines, full-screen sheets — while preserving every action a desktop user could take. Same data, same flow, different physics.

Inventory

Same data · two physics

Desktop · sortable

Item

Category

Price

Stock

Apples

Produce

$1.49

450

Bananas

Produce

$0.79

200

Bread

Bakery

$4.50

50

Coffee

Pantry

$12.99

25

Mobile · cards

Apples

$1.49

Produce·450 in stock

Bananas

$0.79

Produce·200 in stock

Bread

$4.50

Bakery·50 in stock

the table — same data, two physics.

04 — Stack

the kit.

  • FrontendReact 19 · Next.js (app router) · TypeScript
  • StylingTailwind CSS · Radix UI primitives
  • DataSchema-first GraphQL · code-generated client
  • BackendNestJS · PostgreSQL · Redis · queue workers
  • SurfacesDashboard · reports · login · price-batch queue
  • PatternsPlatformTabs · ReviewPanel · ConfirmDialog

Gated · NDA

More on the admin portal.

Drop your email — I'll send you a one-tap link to unlock the deeper sections (role notes, more on the proudest call, what I'd redo). No account, no password.

Next — 03

storefront.

Deli-counter complexity, made to feel like one tap.

Read the case study
sherwinlove — Design × Engineering