MIDL live demo

A page that personalizes itself — then learns what works

MIDL turns a web page into data instead of fixed markup. Because it’s data, one page can do two things a normal page can’t — and you can watch both happen below, on a real page, live:

  1. 1 · Personalize — serve a different version of the page to each visitor, decided by data (where they are, what device, returning or not).
  2. 2 · Self-optimize — measure which version actually converts, and automatically shift traffic to the winner. No manual A/B testing.

1 · One page, tailored to each visitor

It’s a single URL — midl.site/saas-demo. Pick a visitor and the page rewrites itself to the version that fits them. Same document, decided by data — no redeploy, no code change.

This visitor → Outcome · No segment rule matches → the default “Outcome” variant, in English.
midl.site/saas-demo

Ship faster. Sleep better.

The deploy platform that ships your code in seconds, not hours — zero config, and zero pages at 3am.

8s

average deploy

99.99%

uptime

0

3am pages

Everything just works

Zero config

Push to Git and we handle the rest — builds, previews, and rollbacks, automatically.

One-click rollbacks

Something broke? Roll back to any previous deploy instantly. No incident war room.

Sleep-easy reliability

Automatic failover and health checks keep you live while you’re offline.

“I haven’t been paged at night since we switched. My team actually ships on Fridays now.”

— Dana R., Engineering Lead

Ship your next release in minutes


Vellum · the deploy platform that lets you sleep.

Try each tab — three visitors, three different pages, one URL. The “machine twin” is the same page as a clean document an AI agent can read.

2 · The page learns which version wins — by itself

Finding the best-performing version normally means running an A/B test by hand for weeks. MIDL does it continuously: every visit is measured, and an optimizer keeps shifting traffic toward whatever converts best. Run it yourself below — each step is real (it writes events and runs the actual optimizer), just sped up.

① Send visitors

Each batch ≈ a day of traffic. Visitors see a variant and some convert — the better ones convert more often.

② Run the optimizer

It scores each variant by how confidently it converts (Wilson, 95%) and reallocates traffic to the leader.

③ Watch it converge

Repeat and the winner climbs toward 80% of traffic — automatically. Or hit Auto-run to watch 5 days play out.

or step through it: 0 visits · 0 conversions
Ready. Hit ▶ Auto-run, or “Send visitors” then “Run optimizer”.
Outcome
33% of traffic

Benefit-led, calm — the default everyone sees unless a segment rule matches.

Visitors
0
Conversions
0
Conversion rate
0.0%
Confidence
0.0%
Urgency
33% of traffic

Loss-aversion / speed framing — targeted to mobile visitors (and the eventual A/B winner).

Visitors
0
Conversions
0
Conversion rate
0.0%
Confidence
0.0%
Social proof
33% of traffic

Authority / trust framing — targeted to EU visitors (geo).

Visitors
0
Conversions
0
Conversion rate
0.0%
Confidence
0.0%
Reading the numbers: Conversion rate = conversions ÷ visitors. Confidence = how statistically sure we are that rate is real (Wilson 95% lower bound). The optimizer needs 100+ visitors on a variant and a confident lead before it promotes it to 80% of traffic — the exact job the daily cron does, triggered live here.