Lead-authored research pass, 2026-10-04. Sources are linked inline. Everything below was verified against the live site, its shipped bundles, and third-party references — not taken from marketing copy.
1. The idea in one paragraph
motionsites.ai is not a website builder and it is not a template marketplace. It is a library of extremely precise, copy-paste AI prompts that make an LLM coding agent produce a cinematic landing page. The product is the prompt text. The tagline is literal: "Build beautiful landing pages in minutes with our ready-to-use prompts. Just copy, paste, and launch." The user pastes one prompt into Lovable / Cursor / Claude Code / Codex and gets back a finished, animated page.
The business is therefore selling the prompt corpus, not software. Everything else on the site (Academy, MCP server, Animated Backgrounds, Affiliates, custom-prompt service) exists to feed, defend or upsell that corpus.
Source: homepage, request page, MCP page.
2. Why the prompts work — the format is the moat
I read four prompts from the publicly archived corpus (xiiiabu/motionsites.ai). The format is consistent and is the real invention:
| Element | What it does |
|---|---|
Category / Type / License header | Triage + paywall signalling |
| Video preview embed | Sells the outcome before the user reads a word |
| One ```text block, 1.5k–11k chars | The deliverable |
| Exact class names, hex values, px values | Removes all model guesswork |
| Exact animation timings and easing curves | This is what makes it look expensive |
| Exact DOM structure and Tailwind utility strings | Output is deterministic across models |
Explicit tech stack pin (Vite + React 18 + TS + Tailwind 3 + lucide-react) | Prevents stack drift |
| Negative constraints ("Default Tailwind config, no extensions. No other UI libraries.") | Prevents slop |
The Asme prompt, for example, does not say "make a glassy hero". It specifies the .liquid-glass class down to background: rgba(255,255,255,0.01) + background-blend-mode: luminosity, a ::before pseudo-element with padding: 1.4px, a six-stop linear-gradient(180deg, …) edge, and the -webkit-mask-composite: xor border-only mask trick. It specifies the video fade as a 500 ms requestAnimationFrame fade-in, 500 ms fade-out at 0.55 s remaining, fadingOutRef guard against re-trigger, 100 ms reset to currentTime = 0. That level of specification is why the output looks art-directed rather than generated.
Takeaway for our clone: the prompt is the product, and specificity is the value. A vague prompt library is worthless. Our upgrade is to make each prompt verifiable.
3. Site structure (verified from the shipped router, not guessed)
I extracted the complete route table from /assets/index-g57HynbI.js (43 route components, 42 paths). The public information architecture is:
Core funnel
| Path | Purpose |
|---|---|
/ | Prompt gallery — the money page |
/apps | "Apps" category view |
/sections | Section-level prompts |
/templates | Template view |
/motionsite | Single design detail page |
/unlimited | Paid plan / paywall upsell |
/saved | Saved prompts (account) |
/auth, /reset-password, /unsubscribe | Account plumbing |
Free traffic + lead magnets
| Path | Purpose |
|---|---|
/backgrounds | Animated background gallery — each tile has Copy URL |
/gradients | Gradient gallery |
/design-md | A DESIGN.md export (agent-readable design system) |
/academy + /lesson/$slug | Video tutorials; each lesson carries the prompt used |
/mcp | Connect an AI agent to the prompt library over MCP |
Money
| Path | Purpose |
|---|---|
/request, /request-thanks | Done-for-you custom prompt: $99 hero, $249 landing (list $599 / $1,499) |
/affiliates, /affiliate-dashboard, /affiliate-tracking/$affiliate | Affiliate program |
/submit-earn, /creator/$handle, /creator/ | Creator program — submit prompts, earn |
/payment-success | Post-purchase |
/contact, /public-contact, /terms, /refund-policy, /cookie-policy | Ops |
Internal /admin/{affiliates,creators,featured,grant-access,popularity,bolt-cta,manus-cta}, /upload-prompts, /home-old, /.lovable/oauth/consent.
The gallery itself
Above the grid: category tabs All · Popular · Apps · Sections · Recent. Each card is a looping preview (.gif or Mux-hosted animated.webp) plus a title and category badge, and a copy action. The homepage grid mixes hero sections, full landing pages, footers and CTA sections — so a user can buy one section or a whole page. Sections are the cheap entry point; landing pages are the expensive one. That is a deliberate pricing ladder.
4. Tech stack (from response headers, bundle and asset paths)
| Layer | Evidence | Conclusion |
|---|---|---|
| SPA | assets/Index-*.js, react-dom-*.js, routes-*.js, jsx-runtime-*.js | React 19 + Vite, code-split by route |
| Styling | styles-*.css with --color-*: oklch(...) and @theme variables | Tailwind CSS v4 |
| Design tokens | --background:#121212, --card:#292929, --border:#303030, --foreground:#f5f5f5, --accent:#303030, --font-sans: -apple-system, … | Near-black neutral system, system font stack |
| Hosting | server: cloudflare, x-deployment-id, __cf_bm cookie | Cloudflare (Pages/Workers) |
| Video | image.mux.com/<playback-id>/animated.webp?width=640&fps=15 | Mux for preview encoding |
| Backend | MCP endpoint at xgdzyqfalbibzelpdpvr.supabase.co/functions/v1/mcp | Supabase Edge Functions |
| Bot/edge script | /~flock.js | Cloudflare-adjacent edge injection |
| Analytics | googletagmanager.com/gtag/js?id=G-9KTL0DN6Q5, Facebook Pixel 938156741961384 | GA4 + Meta pixel |
| Fonts | fonts.googleapis.com/icon?family=Material+Icons + per-prompt Google Fonts | Material Icons for chrome, per-design fonts inside prompts |
Product surfaces worth noting: the MCP server is a single HTTP transport endpoint — claude mcp add motionsites --scope user --transport http https://…/functions/v1/mcp — and the free tier is gated to 3 free prompts; paid plans unlock "500+". So the actual corpus is ~500 prompts, of which 65 are publicly archived.
Creator: the site links to designrocket.io, youtube.com/@ViktorOddy and x.com/viktoroddy. The Academy page's featured videos are his.
5. Business model, decoded
Free tier (3 prompts) ──► paid "Unlimited" subscription ──► done-for-you prompts
│ │ $99 / $249
│ │
├── Academy videos ───────────┘ (top of funnel, YouTube-native)
├── Animated Backgrounds / Gradients (free SEO surfaces, "Copy URL")
├── MCP server (distribution into Claude/Cursor/Codex)
├── Affiliates (paid acquisition)
└── Creator program (submit & earn) (supply-side scaling of the corpus)Three things are clever here and worth copying:
- The MCP server is distribution, not a feature. Once the library is an MCP server, every AI agent in the user's editor can pull a prompt without visiting the site. The site becomes a backend. That is the strongest idea on the page.
- Free surfaces are the SEO moat.
/backgroundsand/gradientsare free, copy-pasteable assets that rank and get shared. They cost almost nothing to produce. - Section-level SKUs. Selling one hero section separately from a full landing page lets a buyer enter at a low price point and upgrade later.
6. Cross-check
I asked an independent model (gemini-3.5-flash, Workbuddy proxy) to review the above findings against the raw evidence and flag anything unsupported. Result and any corrections are recorded in 04-crosscheck.md.
7. What we will do differently (the "upgrade on top")
The original sells prompts on vibes — a looping GIF and a claim. Nothing tells you whether the prompt still works, what it costs to run, or which model produced the preview. That is the gap our free clone attacks:
| MotionSites | LandingPagePrompts (ours) |
|---|---|
| Preview GIF, no provenance | Live, runnable demo + the exact model that built it |
| No cost information | Exact token usage per prompt, from the API response |
| No quality claim | Machine-verified: 14–15 automated checks per prompt, headless browser |
| Copy prompt → trust | Copy prompt + full verification transcript |
| Paid, 3 free prompts | Free, MIT, no account |
| Closed corpus | Open corpus, every prompt in the repo as Markdown |
| MCP server as a paid hook | A static prompts.json any agent can read for free |
Everything we ship is static HTML/CSS/JS, so it costs $0 to host on GitHub Pages or Cloudflare Pages and cannot rot.
Sources
- motionsites.ai — homepage,
/backgrounds,/mcp,/academy,/request - github.com/xiiiabu/motionsites.ai — archived 65-prompt corpus
- Product Hunt — Motionsites
- Tencent Cloud developer article — Chinese-language walkthrough
- Scamadviser listing — domain age / trust signals
- Shipped bundles:
/assets/index-g57HynbI.js,/assets/styles-DxzY-U5-.css,/assets/Index-C7hLBIV7.js