The app that turns her WhatsApp confirmation into her order book.

My mother runs a crochet business off WhatsApp. I designed the app that turns the message she was already sending into the record she never has time to keep.

~45% faster

accounting and information retrieval

No help needed

she does it herself, and quick

One place

every order, price and address, in her hands.

The app that turns her WhatsApp confirmation into her order book.

My mother runs a crochet business off WhatsApp. I designed the app that turns the message she was already sending into the record she never has time to keep.

~45% faster

accounting and information retrieval

No help needed

she does it herself, and quick

One place

every order, price and address, in her hands.

The app that turns her WhatsApp confirmation into her order book.

My mother runs a crochet business off WhatsApp. I designed the app that turns the message she was already sending into the record she never has time to keep.

~45% faster

navigation
click rate

No help needed

she does it herself, and quick

One place

every order, price and address, in her hands.

TL;DR

The Problem

Orders arrive as WhatsApp messages. She confirms each one by typing out the customer, the items, the prices and the total, then retypes all of it into a spreadsheet that tells her nothing back.

What I built?

A local-first PWA where building the order composes her WhatsApp confirmation, and sending it is what commits the record. Nothing leaves the phone. It's on hers now, and she takes orders through it.

What I built with?

AI as a build collaborator, with every product decision mine. Local-first on her phone, no account and no server, because the app holds other people's addresses.

My Role

Solo. Research, product definition, IA, interaction, visual system, six versions, and the V1 build itself, written by directing AI tooling and overruling it where it defaulted to the generic.

Timeline

2 weeks for build, Apr '26

Context

Her shop is a WhatsApp thread and her books are a spreadsheet.

She makes hair accessories, dolls, keychains and baby clothes to order, and she sells the way most small sellers in India do, entirely inside WhatsApp. Customers find her by word of mouth, agree a price in the chat, and she confirms each order by typing out their name, address, the items and the total.

She makes hair accessories, dolls, keychains and baby clothes to order, and she sells the way most small sellers in India do, entirely inside WhatsApp. Customers find her by word of mouth, agree a price in the chat, and she confirms each order by typing out their name, address, the items and the total.

That message is the only complete record the order ever gets. She then opens Excel and types the same information in again, which is where the trouble starts

That message is the only complete record the order ever gets. She then opens Excel and types the same information in again, which is where the trouble starts

Diagnosis

She could name one problem. I found four that mattered.

The one she raised was pricing. Everything she makes is custom, so there is no price list, and near identical pieces had gone out at ₹450 and ₹560.

The one she raised was pricing. Everything she makes is custom, so there is no price list, and near identical pieces had gone out at ₹450 and ₹560.

The rest came from sitting with her on order days and reading back through a year of her own confirmations.

The rest came from sitting with her on order days and reading back through a year of her own confirmations.

Hover to see more

The week's work lives in her head

Nothing tracks what she has to make.

Customer details are buried in chat

A returning customer means scrolling months back for an address.

Prices come from memory

The same piece has sold at two different prices.

Every order is typed twice

Once to the customer, once into Excel.

The week's work lives in her head

Nothing tracks what she has to make.

Customer details are buried in chat

A returning customer means scrolling months back for an address.

Prices come from memory

The same piece has sold at two different prices.

Every order is typed twice

Once to the customer, once into Excel.

The week's work lives in her head

Nothing tracks what she has to make.

Customer details are buried in chat

A returning customer means scrolling months back for an address.

Prices come from memory

The same piece has sold at two different prices.

Every order is typed twice

Once to the customer, once into Excel.

What this changed

I stopped looking for the thing she asked me to fix and started looking for every place her own discipline was holding the system together. Three of the four sit there.

Constraints

Constraints

Privacy

The app holds real names, phone numbers and home addresses belonging to people who handed them to a small seller they trust. I decided the safest architecture is the one that ensures no leaks.

So a local-first PWA was the best solution to beat this concern.

Solution

Solution

One action sends the message and saves the order.

She builds the order once. The app turns that into the WhatsApp confirmation she sends the customer, and the moment she sends it, the order is saved. There's no second step and no spreadsheet.

Problem vs Solution

Every order is typed twice.

The retyping gets skipped on busy days with the most orders. I made the confirmation message itself the record, so the button that sends it to the customer is the same that writes the order to her books.

The retyping gets skipped on busy days with the most orders. I made the confirmation message itself the record, so the button that sends it to the customer is the same that writes the order to her books.

What she did

What she did

When the orders stack up, the second entry waits until evening and often never happens, so those orders exist only inside a chat thread.

When the orders stack up, the second entry waits until evening and often never happens, so those orders exist only inside a chat thread.

What she did

When the orders stack up, the second entry waits until evening and often never happens, so those orders exist only inside a chat thread.

What the app does

What the app does

Building the order composes her confirmation word for word. Sending it writes the order, the customer and the balance in one action.

Building the order composes her confirmation word for word. Sending it writes the order, the customer and the balance in one action.

What the app does

Building the order composes her confirmation word for word. Sending it writes the order, the customer and the balance in one action.

Problem vs Solution

Prices come from memory.

She loses money on the low quotes and cannot explain the high ones. The prices already existed in her order history, so I surfaced them inside the field where she types the item name rather than on a screen she would have to think to visit.

She loses money on the low quotes and cannot explain the high ones. The prices already existed in her order history, so I surfaced them inside the field where she types the item name rather than on a screen she would have to think to visit.

What she did

What she did

Her item names are descriptions written for one customer, like "off white flower tassel braid accessory", so almost nothing repeats exactly and no price list is possible. She quotes from recall while the customer waits.

Her item names are descriptions written for one customer, like "off white flower tassel braid accessory", so almost nothing repeats exactly and no price list is possible. She quotes from recall while the customer waits.

What she did

Her item names are descriptions written for one customer, like "off white flower tassel braid accessory", so almost nothing repeats exactly and no price list is possible. She quotes from recall while the customer waits.

What the app does

What the app does

As she types, similar past sales appear underneath with what they actually sold for and how many went out. A price check sheet shows the typical range, her most recent sale and the three closest comparables.

As she types, similar past sales appear underneath with what they actually sold for and how many went out. A price check sheet shows the typical range, her most recent sale and the three closest comparables.

What the app does

As she types, similar past sales appear underneath with what they actually sold for and how many went out. A price check sheet shows the typical range, her most recent sale and the three closest comparables.

Problem vs Solution

The week's work lives in her head.

The spreadsheet tracks money owed and nothing tracks what she has to crochet, which is where the anxiety is. I modelled the app to track individual pieces rather than orders, because she does not sit down to make an order.

The spreadsheet tracks money owed and nothing tracks what she has to crochet, which is where the anxiety is. I modelled the app to track individual pieces rather than orders, because she does not sit down to make an order.

What she did

What she did

An order for three keychains is one row in Excel. To work out what ships on a given day she reads back through messages and fills the gaps from memory, so deadlines arrive without warning.

What she did

An order for three keychains is one row in Excel. To work out what ships on a given day she reads back through messages and fills the gaps from memory, so deadlines arrive without warning.

What the app does

What the app does

On the hook flattens every open order into individual pieces, sorted by due date, each one tickable. Ticking the last piece of an order offers to move it to Ready, which updates the ledger and the outstanding balance at the same time.

What the app does

On the hook flattens every open order into individual pieces, sorted by due date, each one tickable. Ticking the last piece of an order offers to move it to Ready, which updates the ledger and the outstanding balance at the same time.

Problem vs Solution

Customer details are buried in chat.

A returning customer means scrolling back for an address, and a new one means typing the same three questions from scratch. I decided against a contacts screen she has to fill in, because a directory that needs maintaining is the first thing a solo maker abandons.

A returning customer means scrolling back for an address, and a new one means typing the same three questions from scratch. I decided against a contacts screen she has to fill in, because a directory that needs maintaining is the first thing a solo maker abandons.

What she did

What she did

She scrolls the thread until she finds the address, or she types "1. Full name: 2. Full address with PIN code: 3. Phone number:" by hand, every time, for every customer whose details have not arrived yet.

What she did

She scrolls the thread until she finds the address, or she types "1. Full name: 2. Full address with PIN code: 3. Phone number:" by hand, every time, for every customer whose details have not arrived yet.

What the app does

What the app does

Customers are derived from the orders themselves, so names, phone numbers and addresses are captured because the confirmation needs them, then offered back as autofill the next time she types that name.

What the app does

Customers are derived from the orders themselves, so names, phone numbers and addresses are captured because the confirmation needs them, then offered back as autofill the next time she types that name.

Impact

Impact

She runs her business on it every day, and it moves faster than before.

The app is on her phone and it stayed there, which for a tool built for one person is the only result that counts.

The confirmation she sends and the record she keeps are now the same action, so the order is done the moment the customer hears back.

~45% faster

accounting and information retrieval

No help needed

she does it herself, and quick

One place

every order, price and address, in her hands.

Learnings

The best decisions were the ones that removed work rather than added features.

Build on the habit that's already there

The features that worked were not new behaviour. Everything was built on what she already did, because there is no time to inculcate new habits and behaviours.

Shadowing reveals a lot more than an interview

I learnt a lot more about the pain-points and opportunities by shadowing her process. Next time I'd start with the real artefacts and shadowing.

Directing AI still runs on a designer's judgment

I built this by directing AI tooling, and the parts that made it and worked out were the ones where I overruled it, wherever it reached for a generic answer instead of hers.

Amrutha Anup

Product Designer

Bangalore, India

© 2026 Amrutha Anup

Amrutha Anup

Product Designer

Bangalore, India

© 2026 Amrutha Anup

Amrutha
Anup

Product
Designer

Bangalore, India

© 2026 Amrutha Anup