Pleated Up
The whole business, visible and answerable in one place
The owner and team at Pleated Up see sales, stock, orders and what is selling on Instagram in one place, and can ask any question of the company's own data.
- Role
- Design and build
- Period
- 2026
- Team
- Me
- Partners
- Owner, support, operations
- Stack
- Cloudflare Workers, D1, Queues, Vectorize, OpenRouter
- Reading time
- 4 min

The problem
Orders are in Shopify, stock is in the ERP, content performance is on Instagram. Support needs one specific order. The owner needs this week's sales. The content team needs to know which reels sold.
The founder asked for an AI that knows the business.
What I found
A chat box is the wrong front door. The first version led with chat and the owner rejected it. People open the tool to see how the business is doing. Questions come second.
For a specific order, AI search is risky. A confident answer about the wrong delivery status is worse than no answer.
Who can see what matters more than how clever the answers are.
Key decisions
- Dashboard first, chat alongside
- Sales, low stock, orders waiting for dispatch and the best-selling reels on one screen, with Ask Brain beside them.
- Live lookup for orders, search for knowledge
- Order questions go straight to Shopify. Policies, products and content are searched, and every answer cites its sources.
- Answers follow roles
- Five roles see different sources, and the AI only reads what that person may see.
- Freshness on screen
- The screen shows when data last synced and where coverage is incomplete.
How it's built
- Retrieval
- Hybrid search: SQLite full-text (BM25) plus Vectorize, with Workers AI embeddings through AI Gateway.
- Generation
- Answers via OpenRouter, built only from role-authorised sources, with zero data retention. If live order data is incomplete, it fails closed.
- Sync
- Shopify webhooks plus a 15-minute incremental sync and a daily reconcile, with run history and a dead-letter queue. When Shopify silently stopped sending updates, the scheduled sync kept data current while I fixed the entry point.
- Tested
- 132 automated tests, including access control.
What I got wrong
In review I found a path where a viewer could pull full customer order details through chat. I closed it before giving more people access, and added tests that keep it closed.
Result
- 1 view
- sales, stock, orders and content
- Live
- for the whole Pleated Up team
The owner sees the state of the business at a glance and asks questions like what is running low or which reels sold, instead of pulling reports by hand.