ReplyLedger · replyledger.com

In development

ReplyLedger presents

The shop
that never
sleeps


Across Africa, millions of shops don't have a website. The shop is a WhatsApp number — and the owner answers every single message herself, in Pidgin, in English, at midnight. ReplyLedger answers them for her, from her own price list, and writes down every order it takes.

One message · one answer

abeg how much be the ankara wrapper? and you fit send am go Yaba?
Ankara wrapper (6 yards) na ₦18,000 — 4 remain. Delivery go Yaba / Surulere na ₦2,000. You want make I hold one for you?
  1. 1. Message in
  2. 2. Read her list
  3. 3. Answer in Pidgin
  4. 4. Write the order

Every inbound message is one call to a model. Not one a day, not one a session — one per message, hundreds a day for a busy shop.

Starring

In the role of the buyer

The customer

Sees a wrapper on a status update at 11pm and types one line, half in Pidgin, no punctuation. If nobody answers tonight, she buys from the next shop.

In the role of the shop

The vendor

Sells fabric out of one phone number. Has already typed the price of that wrapper forty times this week, and will type it forty more.

In the role of the work

The message

Price, availability, delivery, haggling, ordering, payment, or 'where is my order' — seven questions, asked all day, in whichever language comes out.

And introducing

The agent

Reads the shop's own list. Answers in the register it was asked in. Holds the haggle at a floor the vendor set herself. Writes the order down as a record instead of letting it scroll away.

1The eleven o'clock inbox

The work is
the answering

A shop like this closes at seven. The messages don't. By midnight there are eight people waiting, and six of them are asking something the owner has already answered dozens of times: how much, do you still have it, what about delivery, what's your last price.

None of it is hard. All of it is manual. It is the single largest thing standing between a small shop and more trade — and it happens at the exact hour nobody is awake to do it.

Two of those eight will buy somewhere else before morning. She will never know which two.

One vendor · Wednesday 23:47 · eight still waiting

  • +234 803 ••• 41waiting 2h 33m

    Good evening ma, the ankara wey you post, how much?

  • +234 907 ••• 08waiting 2h 07m

    abeg you still get gele? i need am for saturday

  • +234 813 ••• 77waiting 1h 45m

    Hello, delivery to Lekki how much

  • +234 706 ••• 12waiting 1h 28m

    madam last price for the lace nau

  • +234 802 ••• 39waiting 56m

    I want 2 yards of the adire one

  • +234 815 ••• 60waiting 42m

    wetin be the price of hair bundle 14 inch

  • +234 909 ••• 25waiting 27m

    Ma good evening. Is the aso oke still available?

  • +234 704 ••• 91waiting 14m

    my order since tuesday, wetin happen to am

Sample messages written for this page. The replies are generated in your browser from the price list in Part Three — nothing here is a recording of a real conversation.

2Two tongues, one answer

Nobody types
the way a form
expects

This is the part that makes the idea worth building. One customer writes abeg you still get am. The next writes do you still have this in stock. A third switches language halfway through the sentence, because that is how people actually speak.

A menu bot fails all three. A translator answers the wrong question politely. What has to happen is that the same question gets recognised in either register, checked against this shop's actual stock, and answered back in the register it arrived in — not corrected, not translated, not made to sound like a company.

Nigerian Pidgin
abeg you still get the gele? i need am for saturday
Yes, Gele headtie, stiff dey — 9 remain. Price na ₦6,500.

abeg · you get · am → availability

English
Hello, do you still have the gele in stock? I need it by Saturday.
Yes, Gele headtie, stiff is available — 9 left. It's ₦6,500.

do you have · in stock → availability

Nigerian Pidgin
madam last price for the lace nau, e too cost
₦32,000 na correct price o. But make we no argue — ₦28,000 na last for you.

last price · e too cost → haggle, floor read from her own list

English
That lace is a bit above my budget. What's the best you can do?
₦32,000 is already a fair price. But I'll do ₦28,000 for you — that's the lowest I can go.

best you can do → haggle, same floor

3How it actually works

Change the list.
Watch the answers
change.

This one is real and it is running in your browser. Edit the shop's price list in Set One, then message it in Set Two the way a customer would.

Set one · the shop's list

One item a line, name then price. Add (4 left) for stock and | last 28,000 for the lowest you'd take. Change it and the answers change with it.

Read back — 7 items

ItemPriceFloorStock
Ankara wrapper (6 yards)₦18,000₦16,5504
Lace material, plain white₦32,000₦28,000
Gele headtie, stiff₦6,500₦6,0009
Adire kampala 2 yards₦9,000₦8,300
Human hair bundle 14in₦45,000₦41,4002
Aso oke set, gold₦85,000₦78,000
Sewing thread pack₦1,200₦1,100

Set two · a customer

Write the way your customers write. Pidgin, English, or both in one line.

How far! You don reach Ìyá Bísí Fabrics. Wetin you dey find today?--:--

Orders it wrote down — 0

Ask it to buy something. The record appears here.

What one message costs to answer

Every inbound message is its own call. It carries the shop's list so the answer is grounded in real stock and real prices, and the last few turns so the haggle is remembered. Nothing can be batched, because on the other end a person is watching two ticks and deciding whether to wait.

Token figures below are round estimates for a shop of this size, printed so you can check the shape of the thing rather than trust it.

Per inbound messageRough size
Inbound message
no batching — a customer is waiting
1 call
Her price list
sent as context on every call
~450 tokens
Last 6 turns
so it remembers the haggle
~380 tokens
The message
customers write short
~40 tokens
The reply
plus a structured order record
~120 tokens
4The arithmetic

Volume comes
from messages,
not from seats

This is the unusual shape of the idea. Most software bills by the person; this one is exercised by the customer. A shop that has a good week doesn't add users — it takes more messages, and every one of them is another call.

So the work scales with a shop's trade rather than its headcount, and it concentrates in exactly the hours nobody is on shift.

Read this first

The table beside this is an illustrative scenario, not measured traffic. No shop is running on ReplyLedger yet, so there is nothing to measure. Every input is printed so you can substitute your own.

Illustrative scenario

9,000,000

Model calls in a month · 1,000 busy vendors · one call per inbound message


The working

ScenarioAssumedCalls
One quiet vendor40 messages a day40 calls/day
One busy vendor300 messages a day300 calls/day
One busy vendor, a month300 × 309,000 calls
1,000 busy vendors, a month9,000 × 1,0009,000,000 calls

Assumptions: 300 inbound messages a day for a busy vendor, 30 trading days a month, one call per message, no batching, no caching of repeated questions. Halve the message count and you halve the table.

5Who it is for

Three people,
one thread

The vendor

Stops re-typing the same six answers forty times a day, and stops losing the customers who message after closing. Every order arrives already written down.

The customer

Gets an answer in the language she wrote in, at the hour she wrote it, instead of scrolling to the next shop.

Whoever runs it

A workload measured in inbound messages rather than in seats — usage that grows with a shop's trade, not with its headcount.