Early access · design partners wanted

Your site doesn't go down.
Because there's nothing to break.

Static HTML on a CDN — no runtime database, no app server, no edge functions. Every deploy publishes a new version of your site; production switches with a single pointer. AI that does real work, not just chat. And you can prove exactly what was live last Tuesday at 3pm.

Your content team moves faster — without waking up engineering.

Request early access See what's different →
// A CMS that compiles content into static sites — with software-grade deployment, AI-assisted production, and full audit history.
// Developer? Get a free 30-day API key — talk to the engine over MCP, REST, or the JS SDK.

Content is source code. Your site is a compiled artifact. So is your sign. So is your Instagram post. Deploys are pointer flips.

0 runtime dependencies
No origin compute. No database. Nothing in the request path to fail.
1 write = deploy and rollback
Same pointer-flip operation forwards or backwards.
Incremental builds
Edit one page → ~5–10 files change. Even on million-page sites.
Query any past state
"What was live at 3:14pm last Tuesday?" — answered in seconds.
Four pillars

What you actually get.

Everything below comes from one decision: we removed runtime and replaced it with a compiler. Most CMSes pick one of these and call it a product. We built all four into the same stack — and let you take the static output anywhere.

01
No runtime · No failure surface

We removed the things that break.

The output is plain HTML, CSS, and assets — sitting in storage, served globally. There's no runtime database, no app server, no edge compute, no request-time rendering. Every page is already built; requests just fetch files.

  • Nothing computes at request time. No CPU to saturate, no cold starts, no query timeouts
  • Cached pages serve even if the origin is unavailable
  • No deploy window where the site is "half broken" — every release is built before it goes live
  • Traffic spike of 100×? Static files don't have CPU to throttle
Most outages aren't infrastructure failures — they're bad deploys. A StaticOwl deploy is one pointer write. Realize it broke; flip back in another. Site is fixed before most stacks would finish redeploying. // Why doesn't it go down? Because it doesn't run.
02
CI/CD · Deploy governance

Ship content like code.

Releases bundle content, templates, types, routes, theme, and settings into immutable artifacts that move across environments unchanged. Same release in staging and production. No drift. Ever. Reviews gate every deploy. Schedules, A/B tests, and drip publishing all fall out of the same primitive.

  • One Release, all environments — same bytes, different pointer
  • Reviews (AI / automated / manual / compliance) gate deploys with blocking findings
  • Drip publishing: schedule N posts across a window — even, random, or jittered cadence; preview the calendar before it fires
  • A/B testing: Releases can carry weighted variants — the manifest routes traffic between prebuilt artifacts, no runtime rendering
  • Atomic blue/green via manifest pointer — single-write deploy, single-write rollback
Demo: Edit content in dev. Submit for review. AI flags two missing alt-texts; you fix them. Approve. Schedule the deploy for 9am Monday. Walk away. The exact same Release fires on prod at 9am — same bytes you reviewed.
03
AI · Content production line

AI that does work, not just chat.

Configure your voice once. Every AI surface in the system speaks in it: drafts, image generation, bulk rewrites, visual edits, expand-thin-content, SEO descriptions. Drop a document and walk away — multiple pieces of content waiting when you come back.

  • Voice profile: style guide + tone + words you use / never use + sample posts
  • Multi-asset derive: 1 video → blog post + show notes + 3 tweets + LinkedIn + transcript
  • Document import: PDF or pasted text → structured pages with the right content types
  • Visual edit: click any text on the rendered preview, type a change, AI proposes it
  • Site Health: scan the whole site, AI fixes most issues in one click
  • Bulk rewrite: "make all FAQ pages more conversational" with diff preview before apply
Demo (try this): Upload a 10-page product PDF. ~60 seconds later you'll have: ☐ 1 article (drafted in your voice)
☐ 1 hero image (AI-generated, brand-aligned)
☐ SEO title + meta description
☐ 1 LinkedIn post + 3 tweets
☐ 1 email-newsletter draft
☐ Section-level alt text for every image
Each piece is a draft you review and approve — nothing publishes itself.
04
Audit-grade · For regulated industries

Reproducible publishing. Provable history.

Every state of your site is a fact in a graph. Nothing gets overwritten. Replay any past day. Roll back the entire site — content, theme, routes, settings — atomically. SOX, HIPAA, FDA Part 11 answered natively, not bolted on.

  • Replay: Site(env, time) renders the historical site in full fidelity
  • Atomic rollback: deploy = pointer flip; rollback = same operation backwards
  • Append-only: every deploy is an immutable graph fact (who, when, what, reviews)
  • Cryptographic audit chain: hash chain over every mutation at the engine layer
  • Bitemporal: valid-time and transaction-time tracked separately
Demo: Adjuster asks "what policy terms were on this insured's portal page on August 13, before the endorsement landed?" Two seconds. Includes the disclosure copy, the linked schedule, the legal footer — exactly what they saw.
// Same primitive, four uses

A Release is a pointer fact. → Deploy = one pointer. Rollback = the same pointer backwards. A/B = multiple pointers with weights. Drip = N pointers with staggered validFrom.

Failure modes removed

Whole categories of outage just don't exist.

If the failure mode doesn't have a thing to fail, it can't fail. Most CMSes ship the things; we shipped the absence.

Traditional CMSStaticOwl
App server crashNo server
Database outageNo database
Slow queriesNo queries
Traffic spike overloadNo compute to overload
Cold-start delayNo cold start — files are already at the edge
Bad deploy bricks the siteInstant pointer-flip rollback
By the numbers

Concrete claims, not marketing fluff.

0
Runtime services
No origin compute. No database. No edge functions. Nothing in the request path to fail.
1 file
Deploy
A deploy is one S3 write. Same operation backwards = rollback.
~5–10
Files changed
For a one-article edit. Even on a 1M-page site — not a full rebuild.
~2s
Replay
"Show me the site on January 15" — answered by a single graph query.
One source. Every channel.

Your website is just one compiled artifact.

The same compiler that emits HTML emits social posts, print flyers, QR-coded yard signs, email blasts, and ad creative — all derived from the same content, all versioned in the same Release, all replayable as part of the same audit chain.

Web pages

HTML on a CDN. Already shipping.

Social posts

One source → IG / Twitter / LinkedIn / story formats. Aspect-ratio aware.

📄

Print flyers

300 DPI, CMYK-ready PDFs. Letter, legal, A4, custom.

Yard signs

Print-resolution PNG/PDF for any size. Real-estate, event, retail.

QR codes

Native generator, scannable at print scale. Points wherever you want.

Email bodies

Cross-client-safe HTML. Same content, channel-appropriate template.

Ad creative

Display-ad sized images. Banner, square, rectangle, tower.

Transcripts

Plain text or SEO-friendly HTML for video / podcast / talk content.

// The compliance question nobody else can answer

"Show me every public-facing asset derived from Product X during the recall window."

One graph query. Web pages, flyers, social posts, ad creative, signage — every artifact, every version, every approval. That's the audit trail every other CMS handwaves.

// Web pages ship today. Phase 2 brings social, flyer, sign, email, ad compilers online.

What your team gets

Less waiting. Fewer surprises.
More content out the door.

We built StaticOwl for teams who want to publish, not for teams who want to shop for CMS features.

AI that sounds like you, not Claude

Train a Voice Profile once — style guide, tone, words you use, words you never use, sample posts — and every AI surface in the system speaks in your site's voice. Document import, bulk rewrites, visual edit, expand-thin-content, all of it.

One upload → six pieces of content

Drop a podcast, talk, or interview. We transcribe it, then derive a blog post, show notes with chapter timestamps, three Twitter posts, a LinkedIn post, and an SEO transcript page in one pass. One upload, six outputs.

Drop a PDF, get structured pages

Drop a 50-page document. The AI matches its sections to your content types, drafts a hierarchy of pages with the right field values, and lets you approve what to keep. Manual re-keying is the killer of CMS migrations — we handle it.

Click a paragraph. Type a change. Done.

Visual edit mode: click any text on the rendered preview, type "make this shorter" or "rewrite as a question," approve the AI's proposal. Cursor for content. Voice profile applied automatically.

Releases, not just publishes

Bundle the changes you want to ship into a Release. AI checks it for problems. Schedule the deploy for a specific time. Promote the same Release through staging to prod — no copying, no drift.

Site Health audits the whole site

One click scans every page for missing alt text, broken internal links, thin content, missing SEO descriptions, stuck drafts, duplicate slugs. Most issues are AI-fixable in one more click. The dashboard becomes an active operator, not an analytics page.

Rich layouts without a design request

Writers and marketers drop hero sections, CTAs, image galleries, and testimonials straight into the page — no Figma ticket, no dev sprint. The template decides where things can go; they fill it in.

Your site stays up. Cheaply.

The site is static HTML on a CDN. No runtime database, no edge functions, no "why is my app server melting?" There's nothing for traffic spikes to knock over.

Your content isn't locked in

Every content type, every page, every template is a node in a graph you can export. Build output is plain HTML in a bucket you own if you want it. If we ever disappear, you keep your site.

A day in the life

Same job. Different day.

An editor wants to publish a blog post with a hero image and a call-to-action. Here's what that looks like on the stack you have today vs. on StaticOwl.

Today

The four-tool shuffle

  • Writer drafts in Notion, pastes into Contentful, formatting breaks, fixes it by hand.
  • Hero image: search stock in a new tab, download, upload, paste the URL back.
  • CTA section: Slack a dev. Dev opens a PR in the Next.js repo, opens Figma, ships a component, redeploys.
  • Publish — Vercel rebuilds 12,000 pages. Cache invalidations crawl. Editor refreshes, sees nothing yet, pings dev.
  • Something broke. Was it the CMS? The frontend? The AI plugin? Four tabs open. Nobody's sure.
With StaticOwl

Two minutes, start to live

  • Writer types "draft a post about X with a hero image and a signup CTA." The assistant does it.
  • Hero image is generated (or picked from stock) and saved in the media library automatically. Permanent URL, no copy-paste.
  • CTA section: drag a CTA widget into the page, type the button text. No dev.
  • Publish — one page rebuilds, not 12,000. The live URL appears in a toast. Editor clicks it.
  • If something breaks, the audit log shows what changed, when, and by whom. One tool. One place to look.
Three ways to ship

Static export. GitHub mirror. Managed atomic-release.

Same compiler. Three output targets. Your call which fits today — switch any time, or run more than one in parallel.

Default · free with self-hosting

Static export

Plain HTML, CSS, JS, and assets at predictable URLs. Compatible with anything that serves files: S3 + CloudFront, Netlify, Vercel, Cloudflare Pages, your own nginx.

  • No runtime dependency on us
  • Take your site and leave at any time
  • Your content lives in your bucket
  • Same editor, AI, audit, and Replay UI
  • Pay for hosting wherever you already host
Bring your own GitHub

GitHub mirror

Push the compiled site plus a JSON sidecar for every page + _meta/ definitions to a repo you own. One commit per deploy. Fork it, host it, leave us — your content + metadata live in your repo.

  • HTML + per-page JSON at predictable paths
  • _meta/types.json, _meta/theme.json, _meta/release.json — the site is self-describing
  • Auto-deploys via GitHub Pages, Cloudflare Pages, Vercel, Netlify on push
  • Git owns the version history; we don't
  • "Lock-in proof" turned into a repo you can git clone
Upgrade tier

Managed atomic-release

Content-addressed artifacts + sharded manifest + Lambda@Edge resolver. Adds atomic blue/green deploys and instant rollback at the CDN layer.

  • Atomic pointer-flip deploys (single S3 write)
  • Instant rollback as a new pointer fact
  • Content-addressed dedup: 1M-page change-1-article ≈ 5–10 file uploads
  • Provable audit chain end-to-end
  • For regulated industries that need cryptographic provenance

// Operators choose with one env var. Switch modes any time.

Insurance · Finance · Healthcare · Legal

Built for the "prove it" conversation.

A claim is filed for a loss on August 15. The policy was retroactively endorsed on August 10. The adjuster needs to know what was visible to them on August 13. Most CMSes can't tell that story honestly. Ours can — every state of your site is a fact in a graph that can never lose history, indexed by what was true when and what you knew when.

Bitemporal at the database layer

Built on InvariantDB. Every record carries valid-time (when it applied in the real world) and transaction-time (when you recorded it). The claim-on-August-15 / endorsement-on-August-10 question is a single query — not a subpoena-response archaeology project. Same primitive answers backdated contract amendments, predated trades, retroactive HIPAA changes.

Releases gate on Reviews

AI review + automated review + manual approval + compliance checks all attach to the same Release. Blocking findings prevent deploy with a 409. Stale reviews trigger automatic re-runs when dependencies shift.

Cryptographic provenance

The graph engine maintains a hash chain over every mutation. You can prove the version of any content node at any past instant — and prove that nobody (including admins) tampered with the trail.

Replay any state

"Show me the site as it appeared to a user on March 12 at 2:14pm." A single graph query against the deployment fact log. Render the historical site in full fidelity — content, templates, theme, settings.

Deploy as a fact, not a button

Every deploy is an immutable record: who, when, which Release, which Reviews passed, which findings were dismissed and by whom. SOX-relevant. HIPAA-relevant. FDA Part 11-relevant.

Rollback is a query

Not "restore from backup." Not "redeploy old code." A new deployment fact pointing at an older Release. Atomic at the CDN layer. Audit-stamped. Reversible with the same operation in reverse.

Common questions

The honest answers.

We're in early access. Here's what that actually means.

Can my non-technical editors actually use it without calling a developer?
That's the whole point. Writers get an AI assistant that drafts, generates images, and publishes. Marketers get a drag-and-drop layout builder inside approved templates. Developers set the rules of the road; everyone else works within them.
"Roll back the entire site" — what does that actually include?
Content, templates, content types, routes, theme, site settings, assets — everything that affects what gets rendered. A Release is an immutable bundle of versions of all of those. Rolling back deploys an older bundle as a single atomic operation. Webflow rolls back content; we roll back the site.
Do I have to use your hosting? Or can I host it myself?
Self-host. The default mode emits plain static HTML / CSS / JS to a folder you can point at any host — S3 + CloudFront, Netlify, Vercel, Cloudflare Pages, GitHub Pages, your own server. No runtime dependency on us. There's also a GitHub mirror mode that pushes the compiled site + a JSON sidecar per page + _meta/ definitions to a repo you own (one commit per deploy) — auto-publishes via GitHub Pages, Cloudflare Pages, or Vercel on push. The managed atomic-release tier is the optional upgrade for pointer-flip deploys at the CDN layer; you can run any combination side-by-side.
Can I see and export my pages and metadata whenever I want?
Yes. Every page, every field, every asset is visible in the admin and exportable as clean JSON or HTML — no vendor format, no proprietary encoding. Your site's build output lives in an S3 bucket you can point at; you can download the whole thing with one command. Your content is yours, every minute of every day.
What does "AI that sounds like me" actually mean?
A Voice Profile per site: a free-form style guide, tone tags, words you prefer, words you never use, and 3–5 sample posts that exemplify your voice. Once configured, every AI surface in the system — document import, bulk rewrite, AI-expand-thin-content, visual edit, SEO description generation — auto-injects this profile into the prompt. You configure it once; the whole stack stops sounding generic.
We're in insurance / finance / healthcare. Is this audit-grade?
The architecture was designed around your worst question: "what did our customer see on the day they took action, given that we've since changed the underlying policy / rate sheet / consent form?" Bitemporal append-only graph + cryptographic audit chain at the database layer. Every deploy is a graph fact — who, when, which Release, which reviews passed, which findings were dismissed and by whom. SOX, HIPAA, FDA Part 11, NAIC Model Audit Rule — answerable as graph queries, not subpoena-response archaeology. Insurance / finance / pharma / healthcare are the explicit primary audience for the managed tier.
How does the AI assistant know what's safe to do?
The assistant only calls tools you've approved (creating content, picking images, setting templates, etc.). Every tool call is logged in the conversation transcript so you can see exactly what it did. Reviews can gate deploys with blocking findings. And every state is reversible — if the AI ships something you don't like, the prior state is one click away.
How much will this cost us over a year?
Early access is free while we're onboarding design partners. When paid tiers open, Solo is free forever, Pro is $49/mo, Business is $399/mo. No per-seat nickel-and-diming. Compare that to the stack you're replacing — most teams we talk to are paying $400–$1,200/mo across four vendors. See the pricing page for full details.
Can I bring my own domain?
Yes. Default is a staticowl.com preview subdomain. Bring your own S3 bucket, CloudFront distribution, and custom domain — StaticOwl compiles straight into yours.
Ready to try it?

Edit content. Publish.
Roll back anything.

If your content team is tired of waiting on developers — or your developers are tired of being the bottleneck — or your compliance team is tired of "how do we prove what was live in February" — let's talk. Early access is free and we'll help you migrate.

// Or email founders@staticowl.com. We read every one. Usually reply same day.

StaticOwl is built on Graphiquity, a time-aware graph database.