local-app-public-demolisted
Install: claude install-skill jqaisystems/jqai-ai-skills
# Local App to Public Demo
Someone wants to see what you built. Installing it is too much to ask, and the
app cannot deploy as-is because it writes to disk, shells out, or depends on a
local session.
The answer is not a rewrite and not a screen recording. It is a **static
snapshot**: the same frontend, served against frozen copies of its own API
responses, with writing turned off honestly.
This skill covers building that snapshot and, more importantly, verifying it is
safe to make public. Pair it with `github-safe-publisher` when the source code is
also going out.
## When to use
- Showing a local tool to a client, collaborator, or prospective employer.
- A server app that cannot run on static hosting as-is.
- Publishing a portfolio piece from something that normally runs on one machine.
- Verifying an existing demo build carries no private data.
## The core decision: one codebase, not a fork
Copy the app into a `demo/` folder and edit it there and the two drift within a
week. Instead:
- Ship a tiny config file in the real app, for example `demo-config.js`, holding
a single flag set to false.
- The build copies the frontend verbatim and **overwrites only that one file**
with the flag set to true.
- The frontend branches on the flag in exactly one place: its data layer.
Everything else stays identical, which means fixing a bug fixes it in both.
## Workflow
### 1. Inventory what the frontend reads
List every endpoint it fetches. That list is the contract. Anythin