Work · 002 · Mobile + AR
Master Paints
Nobody can picture a colour from a chip the size of a stamp. So we put it on their wall.
01 The problem
Two colours, two currencies of doubt.
A paint buyer hesitates twice. First about the colour — a swatch under shop lighting is a poor promise about a living room at dusk. Then about the purchase — cash on delivery, from a dealer they have to find.
Both hesitations lose the sale, and neither is a marketing problem. They are product problems, one on the customer's phone and one in the back office.
02 Colour on the wall
Live AR, on the phone people actually own.
The visualiser paints the Master Paints and Valpaint ranges onto a wall in the live camera feed. The hard constraint was not the rendering — it was the device. This has to run on a mid-range Android handset, because that is what the customer is holding.
Valpaint's decorative finishes are not flat colour; they have texture that a hex value cannot describe. Those are captured to a protocol rather than guessed at, so what the app shows is traceable to a real sample.
- App
- Expo, React NativeNew Architecture; versions resolved by Expo, never hand-written
- AR
- Live camera wall detection and recolour
- Ranges
- Master Paints and ValpaintIncluding textured decorative finishes
- Data
- Supabase, PostgresShared schema package across app and portal
03 The other half
An order is not a sale until a dealer has it.
The app produces cash-on-delivery orders. Those have to reach a specific dealer, in a specific area, on a channel that dealer already reads — which in this market means WhatsApp, not a portal login they will never use.
So the internal side is an ops portal where an agent sees the incoming order, picks the dealer, and routes it. The clever part is deliberately not automated: a human confirms the dealer, because getting that wrong costs a relationship rather than a click.