lanlan / for developers

Build it,
hand it off,
walk away.

Every freelance build ends the same way. The site ships. Then the emails start. Can you change this headline. How do I update my prices. The contact form stopped emailing me. You meant to ship a website. You accidentally signed up to be the IT department.

Lanlan is the platform that lets you actually leave.

type lanlan anywhere · press t for tools · ? for shortcuts

the arc
01

build

You and your agent. Files are HTML/CSS/JS. Edits are surgical. Deploys land in 15 seconds.

02

invite

One email. The client lands in a dashboard they actually understand — analytics, forms, snapshots, billing.

03

detach

Drop yourself to admin. Or leave entirely. The site is theirs. So is the Stripe, the domain, and the form submissions.

the handoff loop

What this means in practice.

Every bullet below is a specific email you do not get.

  • The 7pm "I broke the homepage" email you don't get.

    Every deploy is auto-snapshotted. The client hits Restore. They're fine.

  • The "the contact form stopped working" email you don't get.

    Forms ship with the platform. Submissions hit their inbox, not yours. Spam protection on by default.

  • The "Google Analytics is asking me to verify something" email you don't get.

    First-party analytics. No tag to embed, no cookie banner to write, no GA console to log into.

  • The "the domain expired" email you don't get.

    Domains are end-to-end. The DNS is in their name. The renewal notice goes to them.

  • The "how do I take payments" email you don't get.

    Stripe is a primitive. The Stripe account is theirs, not a connected account routed through us.

  • The "the new page I made looks weird" email you don't get.

    The site has a brand guide. The agent reads it on every edit. Six months from now, new pages still look like the site you built.

the build loop

Here's how it actually works.

A real session, start to finish. Edit a client's site, ship it, hand it over.

Cursor, Codex, Gemini CLI, opencode, Cline, Continue, Zed — the install path looks similar. The engine doesn't care which agent's driving.

live

Your browser, talking to our server.

Right now. Not a screenshot.

GET https://mcp.plinth.page
pinging…
the shape

What's between you and a live site.

Five hops. No proprietary glue between any of them.

Architecture: you, your agent, MCP server, tools, engine, live site you natural language your agentClaude Code · Cursor · Codex · Gemini CLI · … MCP tool calls (JSON-RPC over HTTP) mcp.plinth.pagethe MCP server dispatches to… 42 toolsfiles · content · media · domainsforms · sharing · analytics · SEO · … tools write to… the engineobject storage · a databaseglobal CDN · automatic HTTPS deploy lands in <15s live site

Open standards on every hop. MCP from agent to server. HTTP from server to engine. Files at rest. Nothing locks you in.

the setup loop

The stack you didn't have to assemble.

Every Lanlan site ships with the standard internet plumbing already wired. Six things you'd otherwise spend an afternoon configuring.

  • Analytics Embed GA4. Write a cookie banner. Set up consent. First-party. No tag, no banner, no console.
  • Sitemap & robots Generate one. Update it on every page change. sitemap.xml and robots.txt regenerated on every deploy.
  • llms.txt Hand-author it. Keep it in sync. Generated automatically. The agents reading your site know what's there.
  • OG & meta tags Per-page boilerplate. A preview-card debugger tab open all afternoon. Per-page metadata is part of the page. Previews land right the first time.
  • Custom domains Cloudflare/Vercel/Netlify console. DNS records. SSL provisioning. Redirects. Bought, connected, and HTTPS-served from one tool call.
  • Snapshots & rollback Git ritual. Preview deploy chase. "Which build was the good one again?" Every deploy snapshotted. One click restores any point in time.

None of this is the headline product. All of it is the reason a site ships in an afternoon and stays shipped.

the protocol’s reach

Today, agents. Tomorrow, anything that speaks HTTP.

MCP is one door into the engine. The protocol allows others.

Publishing surface: many possible inputs to one engine your agent (today) a script you wrote a GitHub Action a Slack command your internal tool a webhook the engineHTTP → deploy live

Today, agents. The full handoff loop runs through any MCP-speaking client. Tomorrow, anything. A Slack command, a GitHub Action, a webhook from your CMS — if it can send an HTTP request, the protocol can carry it.

files

Your site, as a directory.

Every Lanlan site is a folder of files. Here's this page's neighborhood.

lanlan.plinth.page/
├── _brand/
│   └── brief.md             # the design tokens, in markdown
├── _partials/
│   ├── nav.html             # shared across pages
│   └── footer.html          # shared across pages
├── css/
│   ├── style.css            # one stylesheet, hand-written
│   └── dev.css              # this page
├── js/
│   └── dev.js               # ~10kb, no framework
├── dev/
│   └── index.html           # you are here
├── index.html               # /
├── pricing.html             # /pricing
└── faq.html                 # /faq

Most builders make you trust their proprietary block model. This is HTML. You can read it. There's no magic underneath.

surface

42 tools, on the table.

Press t to search, or just start typing. Hover any tool to see what it does.

42 / 42
Hover a tool, or press t and start typing.

See the handoff.

Build a site, invite a fake client, drop yourself to admin. Five minutes from now you've felt the whole arc.