One dashboard on top of the webshop, Airtable and WhatsApp, where Claude turns chat messages and photos into structured deals and prices follow the live gold price.
Juweelwinkel sells jewellery and pre-owned watches online and in several stores. Their work was spread over one WhatsApp phone, an Airtable report, paper repair slips and hand-calculated gold prices. In three weeks I built one dashboard on top of it: sales per store, a shared WhatsApp inbox, AI that turns offered watches into deals, live metal pricing and repair tracking.
Retail / Jewellery and watches
Next.js, Airtable, Make, WhatsApp Cloud API, Claude API, Google Sheets, gold-api.com, ECB rates, IMAP/SMTP, Railway
Live in about 3 weeks, in daily use by the owner and the stores, over 120 automated tests

Juweelwinkel sells new and vintage jewellery and pre-owned watches, through their webshop and in several stores. Like a lot of retailers that grew quickly, the business ran on a stack of tools that each did one thing.
Sales reporting lived in an Airtable interface where the monthly totals never quite added up, because the automations behind it created duplicate records. Every store wanted its own numbers, but nobody should see another store's.
Customer service was WhatsApp on one phone. Customers sent photos of a watch they wanted to sell, or asked if we had a specific reference. Those messages scrolled away, and with them the deals.
Gold prices were calculated by hand. Repairs were registered on paper. And there was no single place where the owner could look and see how things were going.
None of these tools were bad. They just didn't talk to each other.
I didn't replace the webshop or Airtable. I built one web app on top of them, installable on a phone like a normal app, with push notifications.
The first screen answers one question: are we ahead or behind last year? Sales per store, refreshed every five minutes, with the same period last year next to it. Click a store and you see the breakdown: jewellery, watches, service products, returns, costs, average per weekday. Every order line can be exported to Excel, CSV or PDF. I checked every metric against the old Airtable dashboard until they matched to the cent.
Access is per role. A store sees only its own numbers, staff see the tools they need, the owner sees everything. That is enforced on the server, so changing a URL doesn't get you into another store. Everyone has a personal account, with optional two-factor login.
The inbox runs on Meta's official WhatsApp Cloud API, so the whole team can work from one number instead of one phone. Chats have a team (general, watches, jewellery, service), an owner and a status. You can add internal notes that the customer never sees, send photos and PDFs, use approved templates, and set welcome and away messages in Dutch and English.
When a customer messages, the inbox looks up their orders by phone number and any open repair. Paste a link to the webshop and it becomes a product card. Old chats can be imported from exports of the WhatsApp app, so history isn't lost.
Claude helps with three small jobs: translate a message, suggest a reply based on the conversation, and polish a text before it goes out. The person always reads it and presses send.
This is the part I like most. Customers offer watches and jewellery in WhatsApp all day: a few photos, a sentence, a price. Others ask if you can find a specific model.
A few minutes after the last message, Claude reads the conversation, including the photos, and keeps one row per item in a list called "Aanbod" (offers): brand, model, reference, condition, box and papers, what the customer asks, what we offered, trade-in value, budget, and the next step. If the text doesn't say the model, Claude looks at the photo and says so.
Then every row gets matched against three things: open search requests from other customers, current stock, and watches sold before (read from the owner's stock spreadsheet, synced every hour, read-only). When someone offers a watch that another customer is looking for, an internal note appears in the chat. Each reference also gets a direct link to comparable listings on Chrono24, cheapest first, so the owner knows where to put the bid.
A conversation that would have scrolled away is now a row someone can act on.
Live spot prices for gold, silver, platinum and palladium come in from gold-api.com and are converted to euros per gram with the ECB exchange rate. Every morning at 07:15 the day's rate is stored, so the dashboard can show 30, 60 and 90-day averages.
The owner sets their own base price per gram and sees the market next to it. Before saving a new price, they see what it does to real example products. The formula itself comes from the shop's own pricing scope: fine weight times base price times a tier factor, plus diamond surcharges, rounded up to x9.95. I tested it against six real sales. All six matched to the cent.
Staff use the same formula in a "Calculate price" tab: enter weight and karat, or pull a product from the webshop by SKU, and get the selling price with an optional discount.
Repairs went from paper to a dossier. Intake records the item, the complaint and what came with it. From there it moves through 14 statuses, from "new" and "at the watchmaker" or "at the goldsmith" to "waiting for approval", "final check" and "ready for customer". The list shows where every item is and how long it has been there.
Each dossier produces a branded service note as a PDF. Right after intake, the customer gets a personal link by mail or WhatsApp to a tracking page: one sentence on where their item is, a progress bar, the expected turnaround and their documents. No login, no prices, no internal notes. The link is signed, so guessing another number gets you nothing. Shipped back? Track and trace is in the dossier.
Shared and personal mailboxes sit in the same dashboard, with departments and owners per mail, just like WhatsApp. One place for customer contact instead of two apps and a phone.
This is a dashboard full of customer conversations, so I treated the data that way:
The webshop moves to Shopify around December. After that comes a bookkeeping link from Shopify to SnelStart (the read-only basis is already built), a Chrono24 feed straight from the shop, and AI product entry. Today putting one product online takes about half an hour. The goal is two minutes: take a photo, tick a few boxes, and the title, description and price are filled in.
One app for the shop floor, the WhatsApp inbox and the workshop. A few of its screens, with fictitious customers, prices and items.






Most retailers already have the data. It's just spread across chat, a webshop and a spreadsheet. The same building blocks work for almost any shop:
Yes, through Meta's official WhatsApp Cloud API. Messages come into a shared inbox where chats can be assigned to a team or a person, answered with templates and kept with full history, instead of living on one phone.
Yes. Claude reads the conversation and the images together and pulls out structured information, like the brand, model and condition of a watch. If something only comes from the photo, it says so, and a person always decides what happens next.
No. Claude runs through Anthropic's commercial API, and data sent through it is not used for training. On top of that, WhatsApp messages are deleted after 24 months and only people with the right role can see them.
Yes. A market feed provides the metal price, the ECB rate converts it to euros per gram, and your own formula calculates the selling price from weight, purity and surcharges. You stay in control of the base price.
No. The dashboard sits on top of the tools you already use and reads from them. You can migrate later, piece by piece, like Juweelwinkel is doing with Shopify.