← Back to the case studies

Luna

A business assistant for my wife's jewelry shop. More time making things, less time maintaining a spreadsheet.

Architect & engineer

products → components
Tracks
online + in person
Sales channels
0
Forms she fills
my wife
Built for
Where it started

The spreadsheet behind my wife's business kept growing. Tracking stock and writing invoices were taking time away from designing and making jewelry.

Start with the stockroom

The underlying platform, Wonder Objects, tracks finished pieces and the components they're made from. It follows materials from suppliers through assembly to sales online, on Etsy, in shops, and at trade shows.

Purchase orders, landed costs, price lots, customers, and invoices live in the same system. Getting that data right came first; an assistant is only useful if the stock figures it gives you are trustworthy.

An assistant that knows the page

Luna opens in a side panel and knows which product or customer is on screen. My wife can ask what's in stock, what sold, or what someone bought previously without navigating through forms.

The vision model also works from product photographs to suggest names, descriptions, and social captions. Those were chores my wife particularly disliked. Having a draft to react to makes them much easier.

One way to make a change

Luna has targeted database tools and one write tool with an explicit list of permitted fields. It presents the old and new values and waits for approval in the conversation. It can suggest a price; it can't quietly change one.

It uses the OpenAI Responses API without a separate retrieval index. Conversations were costing about half a cent when I wrote this up.

The invoice from the year 0112

One unexpected benefit was data cleanup. Luna spotted an inflated invoice count that led me to a counting bug. It also found corrupt records, including a sale dated to the year 0112.

This project has a very direct feedback loop: I live with the person using it. The useful improvements are the ones that make her day easier.

A closer look

On the parts list

ReactFastAPIPostgresOpenAI (Responses API)Cloudflare R2ClerkRailway
More from the collection