Duuka
Online shops for furniture makers, bag sellers, boutiques, hardware stores, every businessin East Africa.
Each shop gets its own storefront, its own catalogue and orders straight to WhatsApp. No app to install, no payment set-up to wait for.
- Shops open
- 2
- Products listed
- 59
- Ordering
On Duuka
Visit a shop
How it works
From a WhatsApp chat to a shop link in three steps.
No app for your customers to install, no payment gateway to apply for, no developer to chase. You keep selling the way you sell today; Duuka gives it a proper home.
- 1
Send us what you sell
Photos, names and prices, the way you already share them on WhatsApp. Or type them into your own admin, or upload a price list from Excel.
- 2
Your shop goes up
Your own address, your categories, your prices in shillings and a search box. It looks like your shop, not like a template.
- 3
Share the link. Orders arrive on WhatsApp.
Put it in your Status, your bio and your posters. A customer taps Order, and the chat opens with the item, its code, the quantity and the total already written.

Why Duuka
Selling on WhatsApp works.
Running a shop on it is hard work.
Every shop that sells through chats hits the same walls. Duuka takes down each one, and leaves the part that works (talking to your customers) exactly where it is.
"How much?" fifty times a day
Every product shows its price, and the old price crossed out when it is on offer.
Status photos vanish after 24 hours
A catalogue that stays up, sorted into categories and sub-categories.
"The one you posted last month"
A search box across the whole shop, and related items on every product page.
Orders that say "the brown one"
Every order message names the item, its code, the quantity, the total and the link.
Selling what you no longer have
Stock on every product. Sold-out items say so; hidden items leave the shop without being deleted.
Templates priced in dollars
Uganda shillings throughout, written the way customers read them: USh 705,000.
Updating fifty prices one by one
Export the catalogue to a spreadsheet, change it in Excel, import it back.
One phone, one password, everyone on it
Each person who helps run the shop gets their own sign-in, and loses it the day they leave.
Pages that crawl on mobile data
Pages are built on the server and arrive ready to read: light enough for a phone on 3G.
One platform
One Duuka. Every shop its own.
A furniture maker in Kampala and a bag seller in Jinja run on the same Duuka, and neither ever sees the other. Each shop is a storefront, a catalogue, a WhatsApp number and a team of its own. That's how a single deployment can serve a whole market.


Its own address
/furniture, /bags, /your-shop: a link that is yours to share.
Its own voice
Name, tagline and the announcement strip across the top.
Its own WhatsApp
Orders go to the number the shop chooses, not to Duuka.
Its own people
Shop admins who can run this shop and see nothing else.
Kept apart by the database, not by good manners. Every query Duuka runs is tied to one shop before it reaches the data, and a request that names no shop gets nothing at all. It fails closed, and there are tests that try to cross the line on every build.
The back office
Everything behind the counter, already built.
A shop is more than a storefront. Duuka gives every shop a real admin: products, categories, its profile, its people and a way to change a hundred prices at once. Every one is a working screen on day one.
A catalogue you can actually manage
Name, price, an offer price, a product code, stock and a photo. Mark the ones to feature on the home page, hide the ones you are not selling this month, archive the ones you never will.
What to notice
- Prices are whole shillings: no cents, no rounding surprises
- Setting an old price shows the saving on the shop automatically
- Hiding a product takes it off the shop without deleting it
Sorted the way your customers think
Categories nest as deep as you need: Living Room, then Sofas, then Corner Sofas. Opening a category on the shop shows everything beneath it.
What to notice
- A parent category's page shows everything filed beneath it
- Each category gets its own page and photo
- Featured categories lead the home page's slideshow
Your shop's voice, in three fields
The tagline under your name, the announcement strip across the top, and the WhatsApp number every order goes to. Change them and the shop updates within a minute.
What to notice
- The WhatsApp number is checked for a country code
- Each shop has its own; nothing is shared between shops
- No designer needed to change what your shop says
Open a shop, hand over the keys
The Duuka owner opens a shop, names its owner and gets a one-time sign-in to send them on WhatsApp. Shop admins run their own shop and can see nothing else on the platform.
What to notice
- A temporary password is shown once, then never again
- Removing someone signs them out everywhere at once
- Hide a whole shop in one click; its link stops working until you bring it back
Your price list, in and out of Excel
Export the catalogue as a spreadsheet, change prices and stock in Excel or Google Sheets, and import it back. A big file keeps going in the background while you work.
What to notice
- Works with CSV from Excel, Google Sheets or Numbers
- A template to start from, with the right columns
- Categories import the same way
Sign-in & security
Locks you would otherwise pay extra for.
Your shop is your income, so its admin is locked like a bank app: second factors, passkeys, a list of every device that is signed in, and a firewall in front of it all. Switched on, not sold as an upgrade.

No public sign-up. Only the people you add.
Nobody can create an account on your shop's admin. Accounts are made by an administrator, and repeated wrong passwords lock an account before anyone can guess their way in.
What to notice
- Passwords are checked against the most common leaked ones
- Sign in with a password or a passkey
- Sessions sit in cookies scripts cannot read
A second lock on every account
Turn on a 6-digit code from an authenticator app on your phone. Backup codes cover a lost phone, and a device you trust can skip the code for 30 days.
What to notice
- Works with Google Authenticator, Microsoft Authenticator and the like
- Single-use backup codes for a lost or broken phone
- Trusted devices can be removed at any time
Your fingerprint is the password
Add a passkey and sign in with your phone's fingerprint or face, or your laptop's PIN. There is nothing to type, so there is nothing to phish.
What to notice
- Works with Android, iPhone, Windows and Mac
- Add one per device, remove any of them
- A stolen password is useless on its own
Every device, and a way to sign it out
See every browser and phone signed in to your account, with when it was last used, and sign out any of them. Lost phone? Sign it out from the office.
What to notice
- One tap signs out every other device
- Removing a shop admin ends their sessions immediately
- Refresh tokens rotate, so a stolen one stops working
A guard in front of the door
Every request passes a web application firewall before it reaches your shop. Injection attempts and path tricks are turned away, and floods of requests are slowed down.
What to notice
- Blocks SQL injection, cross-site scripting and path traversal
- Sign-in attempts are rate-limited
- A strict content policy on every page the browser loads
Before you commit
The questions a careful owner asks first.
Handing over your catalogue is handing over your business. These are the answers to what shop owners ask before they sign up, with the screens that back each one.
No. Not by accident, not on purpose.
Every product, category and profile belongs to exactly one shop, and every query is tied to a shop before it runs. A shop admin who tries another shop's address gets a plain 'not found'.
What to notice
- Enforced in the data layer, under every screen
- A request with no shop gets nothing rather than everything
- Tested on every change, including attempts to cross over
A record of every change, and who made it
Every change is written to an activity log that names the person, the time and what they changed. The log is chained, so an edited or deleted entry is detected.
What to notice
- Product edits, new items and new admins all appear
- A check replays the chain and names the first broken entry
- Exports in a standard format for security tools
Yes, in files you can open
Export your products and categories as spreadsheets whenever you like. Each person can download everything Duuka holds about them, and ask for it to be erased.
What to notice
- Spreadsheets open in Excel and Google Sheets
- Personal data export, and erasure on request
- Your customers' orders live in your WhatsApp, not on Duuka
Not included yet, so nothing surprises you later: taking card or Mobile Money payments on the site (customers pay you the way they already do), delivery tracking, and a custom domain per shop. Orders are confirmed with you on WhatsApp.
Out of the box
Already running on day one.
Nothing on this list is a plan or an add-on. It is all in the Duuka the shops above are running on today.
The shop
- Its own address
- Categories and sub-categories
- Search
- Related products
- Offer prices
- Stock and sold-out labels
- Featured products
- Announcement strip
- Order on WhatsApp
- Prices in shillings
- Built for phones
- Pages search engines can read
The back office
- An admin for every shop
- Shop admins
- One owner over all shops
- Spreadsheet import and export
- Rich product descriptions
- Photo uploads
- Product PDFs
- Hide, archive, bring back
- Hide a whole shop
The locks
- Closed sign-up
- Two-factor codes
- Passkeys
- Signed-in devices
- Account lockout
- Common-password check
- Web firewall
- Rate limiting
- Content security policy
- Tamper-evident activity log
- Personal data export
- Shop-by-shop isolation
Under the hood
- Postgres database
- Cloud file storage
- Every change tested before it ships
- Secret scanning
- Dependency audits
- Code scanning
- Deploys itself when tests pass
Compared
Where Duuka fits among what you already use.
Duuka does not replace your WhatsApp; it gives it a shop. One row goes against us, because a comparison one column wins every time is not a comparison.
| What you get | Duuka | WhatsApp Status | A social media page | A website built for you |
|---|---|---|---|---|
| Still there after 24 hours | Yes | No | Yes | Yes |
| Sorted into categories, with search | Yes | No | Partly, or with effort | Yes |
| Every item has a price on it | Yes | Partly, or with effort | Partly, or with effort | Yes |
| Orders arrive with item, code and total | Yes | No | No | Partly, or with effort |
| Each helper has their own sign-in | Yes | No | Partly, or with effort | Partly, or with effort |
| Open the same week | Yes | Yes | Yes | No |
| No servers or updates for you to look after | Yes | Yes | Yes | No |
| Card or Mobile Money checkout on the siteDuuka does not take payments; you are paid the way you are today. | No | No | No | Partly, or with effort |
โ Yesโ Partly, or with effortโ No
Questions
Asked before every new shop opens.
Something not covered here? Ask on WhatsApp; a real person answers.
Do my customers need an app or an account?
No. Your shop is a web page: it opens from a link in any phone's browser. When a customer orders, it opens the WhatsApp they already have.
How do customers pay me?
The way they pay you today: Mobile Money, cash on delivery or the bank. You agree it on WhatsApp. Duuka never touches the money, so there is no payment gateway to apply for.
Can I change my own prices and photos?
Yes, from your shop's admin on your phone or computer, one product at a time or a whole price list at once from a spreadsheet. Changes show on the shop within a minute.
Can more than one person run the shop?
Yes. Each person gets their own sign-in to your shop only. When someone leaves, removing them signs them out everywhere, immediately.
I have more than one shop. Is that one account or several?
Each shop is separate, with its own address, catalogue and WhatsApp number, but one person can be an admin of several shops and switch between them.
Is my shop's information safe?
Each shop's data is kept apart in the database itself, the admin sits behind a firewall with two-factor sign-in and passkeys, and every change is recorded in a tamper-evident log.
Does it work on slow internet?
Yes. Pages are prepared on the server and arrive ready to read, so a phone on mobile data shows the shop without waiting for heavy scripts.
Can I leave, and take my catalogue with me?
Yes. Export your products and categories as spreadsheets at any time. They are yours.
Can my shop have its own domain, like myshop.co.ug?
Not yet. Every shop lives at its own address on Duuka for now, and its own domain is on the list.
Your shop, open this week.
Duuka means shop. Send us a message with what you sell, and get a link your customers can order from.