● FROM ONE IDEA TO A PUBLIC WEBSITE

Tell your AI what to build.
Then put it online.

Don't have a ZIP yet? Describe the website once. Small Site gives you the exact prompt for ChatGPT, Claude, or Codex—including the files and packaging needed to publish it successfully.

Prompt builder and ZIP check are free · no account required · your website idea stays in this browser

Works withChatGPTClaudeCodexOpen models
NEW PROJECT
YOU

Create a small website for our neighborhood book club.

S1
Small Static Site v1Built-artifact contract attached
✓
AI

I’ll build locally, validate the static output, then publish only the safe artifact.

Ready for authenticated publishing
Static contract checked · source kept local · no server runtime

PATH 1 · I NEED A WEBSITE

Start with one useful sentence.

Describe the audience and what the website should contain. We add the exact Small Site build, security, manifest, and ZIP requirements your AI needs.

TIP

Good: “Create a one-page site for my ceramics studio with class dates, prices, and an email link.”

20 words+ exact build and ZIP requirements
Preview the platform requirements
Build and publish this as a Small Static Site v1 (small-static-site/1).

The platform accepts only an already-built static artifact. Run dependency installation and build commands locally. Never ask the platform to run source code, npm, a build script, a container, or an application process.

Choose the smallest authoring approach:
1. Default to semantic HTML, CSS, and JavaScript in site/.
2. Use React + TypeScript + Vite only for meaningful browser-side interaction and state.
3. Preserve Next.js, Vue/Vite, or Astro only when the project produces fully static dist/ output. Next must use output: "export"; Astro must use static output.

Supported framework values are exactly: plain, react-vite, next-static, vue-vite, astro-static.

Create small-site.json at the project root. It is a closed manifest: do not add keys. Use spec "small-static-site/1", a 3–48 character lowercase slug for name, basePath "/", no public build variables, and quality.accessibility "WCAG2.2-AA".

For a plain site, use build { "profile": "static-files", "source": "site", "output": "site" }. Include site/index.html and site/404.html.

For a framework site, use build { "profile": "node-static", "runtime": "nodejs-24.18.0", "packageManager": "npm-11.16.0", "install": "npm ci", "command": "npm run build", "output": "dist" }. Build locally and inspect dist/ before publishing.

Use file routing with 404.html by default. Only React/Vite or Vue/Vite may use SPA routing with fallback index.html. Self-host scripts, styles, images, and fonts. Small Site serves the finished site with style-src 'self' and does not allow 'unsafe-inline'. Put all CSS in self-hosted .css files. Never create style attributes or style elements, mutate element.style, use CSS-in-JS, or use a library that injects runtime style elements. Use CSS classes for visual states. External scripts and styles, inline event handlers, form submissions, service workers, WebAssembly, source maps, secrets, private URLs, SSR, API routes, databases, filesystem writes, background jobs, WebSockets, Dockerfiles, and executable files are prohibited.

Declare only exact public HTTPS origins genuinely needed in network.connect, images, media, fonts, or frames. Use empty arrays otherwise. The platform compiles these declarations into Content Security Policy; do not provide raw headers.

Create small-site-upload.zip with no wrapper directory. Its root must contain exactly small-site.json plus the declared site/ or dist/ output. Do not include source files, node_modules, lockfiles, caches, symlinks, nested archives, or files outside the output directory. Limits: 30 MiB ZIP, 25 MiB unpacked, 2,000 output files, and 5 MiB per file.

Before finishing:
- run the local build when applicable;
- verify index.html, routing, local links, assets, metadata, responsive layout, keyboard access, visible focus, reduced-motion behavior, and content accuracy;
- if Small Site tools are available, call small_site_check and fix every reported problem, then call small_site_publish with the project path and one stable idempotency key;
- omit siteId unless the customer explicitly selected a different existing site: the publish tool reads small-site.json, updates the owned site with the matching slug, or creates it from the manifest when absent, subject to the account's billing and active-site limit;
- otherwise produce the validated ZIP for dashboard upload and explain that it contains static output only.

Do not claim the site is published until the publish tool or dashboard returns an active deployment and stable URL.
1 · PasteGive the copied prompt to your AI2 · DownloadSave the finished ZIP it creates3 · CheckValidate the ZIP free before publishing

Already have the finished files? Check your ZIP free

THE WHOLE WORKFLOW

From one sentence to a live URL.

You do not need to know the file format or deployment rules first. The generated prompt carries those instructions into your coding agent.

  1. 1
    DESCRIBE

    Say what the site should do

    A useful sentence about the audience and content is enough to begin.

  2. 2
    BUILD WITH AI

    Paste the exact prompt

    Your AI receives the design brief plus every required static-file and ZIP rule.

  3. 3
    CHECK FREE

    Upload the finished ZIP

    Validate its manifest, files, limits, and browser security without creating an account.

  4. 4
    PUBLISH

    Put it on the web

    Create an immutable release with a stable URL and dashboard rollback.

BUILT ON RW0.IO

Three small sites.
Three very different jobs.

Live examples from the beta: designed by coding agents, published as bounded static files, and served from content-addressed objects in DigitalOcean Spaces.

Swipe or use the arrows to explore each live site.

PUT THE FINISHED FILES ONLINE

The practical answer after your AI finishes building.

Already have files? Use the free checker, then open the focused guide that matches your ZIP or validation error.

Check a finished ZIP
START HERE

How to put an AI-generated website online for everyone

From prompt to built ZIP to a real public URL, using the production Afterglow walkthrough and the exact static-site boundary.

Complete walkthrough

THE REAL FOUR-TOOL MCP BOUNDARY

Your agent checks and repairs locally, then publishes the finished files.

Customer source and build commands never run on Small Site. The customer API remains authoritative for identity, ownership, billing, token scopes, and active-site limits.

Token creation, rollback, deletion, invitations, and account changes stay human-controlled. Rollback is available in the dashboard, not through MCP.

  1. small_site_checkValidates a project beneath SMALL_MCP_PROJECT_ROOT without uploading or mutating remote state.
  2. Repair and rebuildThe coding agent fixes the diagnostic and reconstructs the finished local artifact.
  3. small_site_publishValidates and packages locally, then creates or updates from small-site.json. Omit siteId and reuse one stable idempotency key by default.
  4. small_site_statusConfirms the owned site's active immutable release and stable URL.
  5. small_site_listProvides read-only discovery of owned sites and current usage.

Current public distribution verified 2026-08-23: Registry io.github.dot-billy/small-site, version 0.5.0, bundle SHA-256 09356aabe43311d0a61bc9d318fcca66dfe842c1500c9b239178744e9c0eb83e.

ONE OUTPUT, FIVE RECIPES

Your AI chooses the smallest thing that works.

Every recipe builds locally and ends as ordinary static files. The platform never installs dependencies or runs customer source.

01

Plain HTML

The default for small, presentational sites.

STATIC OUTPUT
02

React + Vite

For meaningful browser interaction and state.

STATIC OUTPUT
03

Next static

Existing Next projects, exported without a server.

STATIC OUTPUT
04

Vue + Vite

A supported client-side alternative.

STATIC OUTPUT
05

Astro static

For content-rich, multi-page sites.

STATIC OUTPUT

A DELIBERATE BOUNDARY

Great for websites.
Not pretending to be a server.

✓

Use it for

  • Landing pages
  • Portfolios and event sites
  • Documentation and guides
  • Calculators and browser tools
  • Small multi-page websites
×

Choose another contract for

  • App-level logins or private data
  • Databases or anonymous uploads
  • Payments and secret keys
  • Server APIs or background jobs
  • Real-time multiplayer

FOUNDING BETA OFFER

One plan. Five dollars.

Small Site is open to an initial capacity of 25 paid founding-beta customers while we continue proving the publishing, billing, recovery, and support loop.

$5USD / month

Keep the beta price while this exact subscription remains continuously active. New subscriptions after beta are expected to be $19 USD/month.

  • Up to three active static sites
  • Validated and malware-scanned deployments
  • Immutable releases and one-action rollback
  • Month-to-month through Stripe
  • No uptime SLA during beta
  • Limited email support during published hours
Join the founding beta By continuing, you agree to the Terms, Privacy Policy, and related beta policies.

PUBLIC FOUNDING BETA

Start with the idea you already have.

We will turn it into the exact prompt your AI needs. If the finished ZIP is already on your device, you can skip straight to the free check.