Case Study · Live SaaS · 2026

Crisp

An Order Manager Built for How Nigerian Laundry Shops Actually Work

Role
Founder, Product & Engineering
Type
Live SaaS, Vertical PWA
Domain
crisp.com.ng
Status
Live, Subscription Billing via Paystack
4
Order stages tracked, received to collected
14 days
Free trial on the Pro plan, billed monthly through Paystack
2
Apps in one monorepo, PWA frontend and API
1
Person, product, design, and engineering
01

Project Overview

Crisp is a mobile-first order manager built for small laundry and dry-cleaning shops in Nigeria. Shop owners take orders, track garments through every stage from received to collected, notify customers on WhatsApp, log payments, and manage staff and branches, all from a single app they can run from their phone.

Most laundry shops in Nigeria run on a notebook, a WhatsApp chat, and memory. Crisp replaces that with structure, without asking the owner to change how they already work.

02

The Problem

Small laundry and dry-cleaning shops handle dozens of garments a day across multiple customers, with no system to track any of it beyond a handwritten ticket or a memory of who dropped off what.

03

What I Built

A full-stack PWA covering order intake, garment tracking, customer notifications, payments, and staff management, tuned for how a small shop actually operates day to day.

Order Intake
Take an order by voice or manual entry. Garments, item counts, and customer details captured in seconds at the counter.
Order Pipeline
Every order tracked through four stages, received, in progress, ready, and collected, on a board any staff member can update.
WhatsApp Notifications
Customers are notified on WhatsApp when their order is ready, the channel Nigerian customers already check.
Payment Logging
Cash and transfer payments recorded against each order, giving owners a clear record without touching the money itself.
Staff & Branches
Multiple staff and multiple branches operate under one account, with a shared, always up-to-date order record.
Progressive Web App
Installable straight from the browser. No app store, no download friction, works on any phone the shop already owns.
04

Tech Stack

FrontendReact · Vite · TypeScript · Tailwind CSS (PWA)
BackendHono · TypeScript
DatabaseSupabase · PostgreSQL · Auth · Realtime
PaymentsPaystack, subscription billing
DeploymentVercel (frontend) · Railway (backend)
Structurenpm workspaces monorepo (apps/web, apps/api)
05

Key Product Decisions

Two separate money flows, kept deliberately apart

Crisp handles two entirely different kinds of money, and the product keeps them apart on purpose. The shop's own customer payments, cash or transfer for a dry-cleaning order, are simply recorded in-app for the owner's own record. Crisp itself never touches that money. Separately, the shop owner pays Crisp a recurring subscription fee via Paystack for using the software. Conflating the two would have meant taking on payment-processing risk and complexity the product never needed.

Login built around a phone number and a PIN

Account access uses a phone number and a PIN rather than an email and password, matching how shop owners already think about their identity. It also avoids the cost and delivery reliability problems of SMS-based verification entirely, a real constraint for a bootstrapped product serving small businesses on tight margins.

One monorepo, one person

The PWA frontend and the Hono API backend live in a single npm workspaces monorepo. For a solo founder building both sides of the product, sharing types and tooling across one repository kept iteration fast without the overhead of managing separate codebases.

06

Milestones Achieved

07

What I Learned

Constraints are a design input, not a compromise

Dropping SMS verification wasn't a corner cut. It was a decision to spend the product's limited resources on the parts of the experience shop owners would actually feel, not on infrastructure they would never notice.

Build for the tool the customer already trusts

Nigerian small businesses already run on WhatsApp. Routing customer notifications through it, instead of email or in-app alerts nobody checks, was the single highest-leverage decision in the product.

Keep money flows legible, even when they're simple

Separating the shop's customer payments from Crisp's own subscription revenue, even though both are small amounts, kept the product's scope honest and made it far easier to reason about later.

See it Live

Crisp is live and running for real laundry and dry-cleaning shops in Nigeria.