{
 "schema_version": 1,
 "generated": "2026-10-24",
 "id": "lianghsun-open-sheet--build-model-that-recalculates",
 "repo": "lianghsun/open-sheet",
 "repo_url": "https://github.com/lianghsun/open-sheet",
 "repo_slug": "lianghsun-open-sheet",
 "title": "Build a model whose numbers recalculate on change",
 "page_title": "How to build a model whose numbers recalculate on change with Open Sheet",
 "summary": "Write a P&L as React and export an .xlsx whose formulas update when an assumption moves.",
 "who": "A finance analyst or founder who needs a model the reader can change, not a static table of numbers.",
 "problem": "Spreadsheets written by agents break silently when rows shift, because cell addresses like B7 go stale.",
 "outcome": "An .xlsx with live formulas and named assumptions, such as =B4*growth, that recalculates in the recipient's spreadsheet app.",
 "steps": [
  "`npx @open-sheet/cli init my-sheets`",
  "`cd my-sheets && npm install && npm run dev`",
  "Describe the P&L to your coding agent and have it write the React source using references such as `ref('pl').column('revenue')`.",
  "Check the sheet in the viewer, then use its export option to download the `.xlsx`. (inferred, check the README)",
  "Open the workbook, change the growth assumption, and confirm the net income column moves."
 ],
 "agent_prompt": "In the open-sheet repo at <project path>, write a P&L sheet from this description: <description of revenue, costs and assumptions>. Use references such as r.cell and ref().column, with no A1 addresses, then export the .xlsx to <output path>. Verify that changing the growth assumption in the exported file moves the net income column.",
 "agents": [
  "any"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "The README says nothing is published to npm yet but also says 0.1.0 is published, so confirm the npx command resolves before relying on it.",
 "category": "Data and analytics",
 "tags": [
  "Data and analytics"
 ],
 "lang": "typescript",
 "requirements": [
  "Node",
  "npm or pnpm",
  "A coding agent or text editor",
  "A local dev server to preview the sheet"
 ],
 "risk": "none",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [],
 "best": true,
 "score": 1.0,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/lianghsun-open-sheet/build-model-that-recalculates/",
 "md": "https://dedupedai.com/use-cases/lianghsun-open-sheet/build-model-that-recalculates/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/lianghsun-open-sheet--build-model-that-recalculates.json",
 "api_version": "v1"
}
