Key decisions
Decisions and what they cost
Raw WebGL, no library
The woven hero could have been a Three.js scene or a looping video. A hand-written fragment shader costs ~8 KB and one draw call; Three.js would add ~150 KB for capabilities we don’t use, and video would betray the code-drawn thesis. Trade-off: more engineering care — context loss, DPR capping, a designed SVG fallback — all of which is documented in the build guide.
Ivory-dominant, emerald in chapters
The dramatic move would be a full dark site. But makers will read this on mid-range phones in daylight, and long ivory passages read better and feel more like paper — more like a pattern book than a pitch deck. Emerald is saved for chapters that carry weight: origin, the waitlist. Trade-off: the site leads quieter than a full-dark flagship; the loom hero carries the drama instead.
Cedis first, dollars in parentheses
Pricing leads with GH₵ — not converted from USD, and not hidden behind “contact us.” The dollar approximation sits second, for makers who sell abroad. It is a small typographic decision that makes the entire positioning credible. Trade-off: international visitors do a little math; that’s the right person doing the work.
WhatsApp-first, spreadsheet-never
The product moment shows follow-up drafts and a Makola shopping list — not analytics dashboards. Copy names real conditions: tro-tro data, cash deposits, Sunday booking messages. Trade-off: it reads intensely local. That is the moat, not a bug: “built for the world” only lands after “born in Ghana” is proven.
Honesty over momentum
Pre-launch products are usually dressed in fake social proof. Here the personas are labelled as composites on the page itself, the dashboard is captioned as an illustration, and pricing carries its pre-launch note. Trade-off: the page loses fake credibility signals and instead earns the durable kind.