Your CFO wants a pricing model.
Six weeks later, a Streamlit deploy that breaks every time someone refactors. Or a Google sheet nobody trusts.
A customer dashboard. A pricing calculator. A quick way to look someone up. Your team and your agents build them as small apps — single files that run in any browser. Studio is where they all end up.
npm install -g @work.books/cli
The problem
You pay Mixpanel to track three events. You pay Retool to render one form. You pay Streamlit Cloud to host a 200-line app nobody updates. Three vendors, three invoices, three things your team has to learn — for one job each.
Your CFO wants a pricing model.
Six weeks later, a Streamlit deploy that breaks every time someone refactors. Or a Google sheet nobody trusts.
Your CS team needs a customer-lookup tool.
So you pay for Retool seats, queue an eng ticket, and they end up paging you the next time a column changes.
Your PM wants a funnel.
So you add a tracking pixel, pay Mixpanel per event, and wait two sprints for someone to wire it up.
What if AI built each of those for you, in a few minutes, as a single file you could open in any browser?
What teams build
Each one is a single file with the code, the data, and the screens inside. We call them workbooks. AI writes the first version. You finish it. Your team is using it the same day.
Move two sliders, see what you'd make in a month. The kind of thing your team usually rebuilds in a spreadsheet every quarter.
Workbook coming soon
Drop a contract or a report into the app. AI reads it and gives you the headlines. Your API key stays with us, not in the file you share.
Workbook coming soon
An analysis page that shows how many customers stick around month over month. Code, charts, and notes side by side.
Workbook coming soon
Type a name. See their orders, tickets, and recent activity. The internal tool your support team has been asking for.
Workbook coming soon
Slides with live charts. Click a number to see what's behind it. The kind of update you'd send your board, but useful.
Workbook coming soon
Studio
Studio is where each workbook ends up after it's built. It sets who can open which ones. It adds your API keys when an app loads, so they're never inside the file. It tells you who opened what. The files still work without us.
Put the apps your sales team uses in one place. Put the apps your engineers use in another. Tag them, search them, move them in a click.
Private apps need a sign-in to open. Take any of them offline in one click — the link stops working right away.
Your API keys and database URLs are added when an app loads, not when you save it. Rotate them later without rebuilding.
Claude (or Cursor, or Codex) can publish, retire, and list your apps for you. You just say what you want done.
Programmable agents
Your team's chat panel isn't a single black-box assistant. It's a roster of small, purpose-built agents you author the same way you author workbooks — a single HTML file with a tiny config. Each one is shared into the groups that need it, runs in its own sandbox, and uses whichever model you've picked. Not a replacement for Claude Code or Cursor: a place where the agents you actually live with come home.
Pulls competitor pages, runs elasticity sims, drafts comparison decks.
// pricing-analyst/workbook.config.mjs
export default {
slug: "pricing-analyst",
type: "agent",
entry: "src/index.html",
agent: {
icon: "💸",
provider: "openrouter",
model: "anthropic/claude-sonnet-4",
tools: ["bash", "read", "write", "edit", "ask_user"],
systemPrompt: "You are a pricing analyst. " +
"Always cite the data source. Build " +
"workbooks for every analysis.",
},
};
30 calls → one ranked-theme deck with citations.
// call-synthesizer/workbook.config.mjs
export default {
slug: "call-synthesizer",
type: "agent",
entry: "src/index.html",
agent: {
icon: "🎙",
provider: "openrouter",
model: "anthropic/claude-opus-4",
tools: ["bash", "read", "write", "edit"],
systemPrompt: "Read transcripts in " +
"/home/user/calls/, cluster by theme, " +
"output a presentation workbook.",
},
};
Walks new hires through your runbook. Answers stack questions.
// eng-buddy/workbook.config.mjs
export default {
slug: "eng-buddy",
type: "agent",
entry: "src/index.html",
agent: {
icon: "🛠",
provider: "openrouter",
model: "anthropic/claude-sonnet-4",
tools: ["bash", "read", "write", "edit",
"list_agents"],
systemPrompt: "Be patient. Show, don't tell. " +
"Always link the runbook section a " +
"question came from.",
},
};
workbook build on a type:"agent"
workbook emits a single .html with the manifest
inline. workbook publish registers it; Studio
mirrors it within seconds and shows it in everyone's chat
rail.
Pick which workspace groups see each agent on upload — or later, in its settings. Personal, one group, all groups, org-wide. The default ✨ agent ships with full tool + sub-agent access for everyone.
Ask Claude Code (or Cursor, or Codex) to scaffold one — "make me an agent that pulls my Linear tickets every morning and drafts a stand-up". You get a workbook config; we run it in an E2B sandbox per session, on a cron, or both.
Why this works
Some code that does the math. Some data to feed it. A few screens for the person using it. A customer lookup is the same three parts. So is a slide deck.
Today, each of those is a different product. Streamlit for the calculator. Retool for the lookup. Looker for the dashboard. PowerPoint for the deck. Four products. Four bills. Four things your team has to learn.
A workbook is one file that holds all three parts inside. Open it in any browser and it runs. There's no app to install, no server to keep up, no separate place where the data lives.
<!-- everything in one file --> <!doctype html> <html> <head> <meta name="wb-permissions" content="net"> <style> … </style> </head> <body> <!-- your app code, inlined --> <script type="module"> render() </script> <!-- bundled source travels along --> <script id="wb-source-bundle" type="application/x-workbook-source"> eJzNVk1v2zAMvfdXEN6h… </script> </body> </html>
What you can ask for
A dashboard. A research brief. A chart. A presentation. Your team and your agents work in the same place — type what you need, the right kind of artifact shows up, and the whole team can open it tomorrow.
Reading the file…
Building cohort retention chart with confidence bands.
Done. Live at workbooks.sh/w/cohort-v3 — it refreshes when the CSV updates.
Cohort survival · 312 views · refreshes from events.csv
Pulling pricing pages from eight competitors.
Drafting comparison. Sortable by seats, included usage, overage rate.
At workbooks.sh/w/comp-pricing. Source links inline.
8 vendors · sortable · 34 plan tiers with sources
Reading 30 pages.
Three sections shaping up: metrics, decisions made, action items.
Summary at workbooks.sh/w/q3-summary with citations back to the original slides.
14 metrics · 6 decisions · 9 action items · slide citations
Pulling notes and citing them inline.
Draft v1 ready. Two paragraphs of context, a feature list, a quote from the CEO, FAQ.
workbooks.sh/w/launch-2026 — every claim links to the source note.
5 sections · 22 inline citations · ready to share
Querying the events table.
Live chart published — it requeries when the table changes.
workbooks.sh/w/mrr-region-live
Stacked area · 7 regions · requeries on view
Pulling the comparison workbook.
Five slides: title, problem, the model, side-by-side comp, ask. Each chart drills in.
Ready at workbooks.sh/w/pricing-pitch. Speaker notes inline.
5 slides · live charts · speaker notes per slide
Every example above is just an .html file in your
team's library. Open it in any browser. Read its source. Hand
it to another agent to extend.
Open source
Every line of code is on GitHub. You can run the whole thing on your own server. You can change anything you want. We do the hosting because most teams don't want to — but if we shut down tomorrow, your apps keep working in your browser, and you can take the code with you.
Free during open beta. Bring your team. Ask Claude what to build first.