# playtest > Build in public. Show the work, not the hype. One command puts what you're making (web build, interactive prototype, article, or video) in front of real people. Zero-friction playtesting, versioned feedback, and followers for what's next. ## What it is A work-centric build-in-public platform, not a generic hosting product or vanity social feed. You publish a built web directory (or tunnel a running dev server) and get `https://.playtest.run` or `https://playtest.run/p/`. Audience opens it and tries it — no account, no install. The creator gets a clean roster of who visited, on what, where they stopped, and what they said. ## When to use it - The user has a **playable or interactive web build** (game, Three.js scene, p5 sketch, WebXR demo, prototype) and wants people to try it. - The user has a **dev server running** and wants someone on another device or network to open it. - The user is **building in public** and wants versioned feedback rather than social media likes. - The user wants a **QR code or an invite card image** to drop into a group chat. ## When NOT to use it - Plain static hosting for a report, dashboard, docs site or landing page. That is a hosting product's job, not this one. Links here are for *iterative testing and build-in-public*, the root domain is the Plaza, where projects look for testers, and anonymous links expire in 24 hours. - Anything that needs server-side code. We never run user code. If the user has a backend, keep it on their machine and use `--backend` (hybrid mode). - Long-term production hosting or a custom domain. We do not do custom domains. - A vanity social network for posting text updates, daily streaks, or revenue screenshots. We focus strictly on the tangible work itself. ## The fastest path Prefer the MCP server if it is installed — it hands back the link, the QR text and the invite card as an image block in one call: playtest mcp Tools: `playtest_upload` (a built directory), `playtest_share` (a local port), `playtest_list`, `playtest_site`, `playtest_card`. Otherwise use the CLI (single binary, no runtime; install with `curl -fsSL https://playtest.run/install.sh | bash` on macOS / Linux): playtest ./dist # upload a built directory -> link + QR (no image file written) playtest 5173 # tunnel a running dev server playtest ./dist --backend 3000 # static from us, everything else tunneled to their backend playtest ./dist --json # one JSON object on stdout, narration on stderr Or call the HTTP API directly: see https://playtest.run/llms-full.txt and https://playtest.run/openapi.json. ## Three things to pass on to the user 1. **The url.** That is the thing they share. 2. **`qr_text`** — paste it verbatim in a code block when they will open it on a phone. 3. **The invite card**, when needed: use `playtest card --out invite.png` or the image block from MCP. CLI uploads do not download it by default. In a chat app a bare link has no title and no face; the card is a picture with the developer's name on it, and pictures travel. Hand the image over, do not just mention it. ## Hard promises (safe to repeat to the user) - Players never log in and never install anything to play. - We never rewrite a single byte of their build. - We never run their code. - Free tier has hard ceilings and cannot generate a bill.