How Underscore works

Your app is a starting point. People will use it in ways you did not plan for.

Underscore is building a loop from real use to the next version. Today, it connects an app's job to recorded visits so you can review a possible problem and what to try next.

A Trial can rehearse a change on a preview. Its result does not prove that a live change helped people.

01

Set the job for this app

Start with a live URL or repository. Review what the app is for, what should get better, and what must not get worse.

02

See what happened in real visits

When live-use evidence is available, review what happened on a page and which important jobs may need a closer look.

03

Investigate a possible problem

See the source, the observed behavior, and what remains unknown before deciding whether to investigate further.

04

Rehearse a possible move

Trials can compare a change on a preview. Their results help you review a move; real visits are needed to judge live benefit.

How a new version reaches your visitors

To test a change on real people, something has to stand between a visitor and your site, so a share of people get the new version and everyone else gets your site. That only works for visits that pass through it.

Three ways in

Ready for every site

Your hosted address

your-site.underscore.page

Your live site, served through Underscore. Nothing to install. Your own address stays as it is, so only people who open this link can join a trial.

Best for: a first look, and traffic you send yourself.

Ready for Next.js

A proxy in your app

your own address

Underscore opens a pull request that adds a small proxy. You merge it and add one secret to your host. Visitors keep your address.

Best for: Next.js apps that want all their visitors in reach.

Coming

Your domain through Underscore

www.your-site.com

Point one DNS record at Underscore. No code changes, and visitors keep your address. Point it back at your host to step out at any time.

Best for: any site on a domain you own.

Why underscore.page?

Hosted sites live on a domain of their own, away from underscore.ai, so a page there can never touch your Underscore account. It is a working address, not a copy: pages are fetched from your host on every request.

Why not my your-app.vercel.app address?

That address belongs to your host, so its DNS can't be pointed at Underscore. Share your hosted address, or add the proxy. Visits to the host's address alone can't join a trial.

What happens to a visit?

Nothing is stored on the way through. A share may see a version, never more than its plan allows. If Underscore can't answer, visitors get your site as it is.

From a live signal to a decision.

Example walkthrough · sample data

pebblenote.io

/checkout

UrgencyHot

37 sample visits reached an unusual wait after payment.

23% had no recorded confirmation.

Rehearse a shorter checkout wait

Possible move · live benefit still unknown

Protected flows

Billing logic and authentication stay outside this change.

Review app setup

Ready to review your app?

Start with its URL or repository. You decide what the app is for and what Underscore may do.

Join early access