Skip to content

Maia download: stop blocking the page, keep it one-time - #337

Merged
ashtonanderson merged 4 commits into
mainfrom
claude/maia-no-wall
Nov 5, 2026
Merged

ashtonanderson merged 4 commits into
mainfrom
claude/maia-no-wall

Conversation

@ashtonanderson

@ashtonanderson ashtonanderson commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

About 4 in 10 people who see the full-page Maia prompt never start the download: 7,631 people saw it in 30 days and 37.6% didn't start. Stockfish doesn't need Maia, so the page doesn't have to wait for it.

What changes

Before After
Desktop Full-page prompt, needs a click Page opens, Maia downloads by itself, small card shows progress
Phone (or save-data, 2g) Full-page prompt, only exit is home Same size prompt, shorter text, "Not now" opens the page
After "Not now" - Button in the empty Maia panel; the prompt returns in a new tab
Puzzles Prompt on arrival Nothing until the puzzle is over
Drills Prompt on arrival Choosing a drill isn't blocked; Maia is needed to start one
Progress Stuck on "Starting download..." "12 of 42MB, about 20 s left"
Failed download Logged as completed Logged as failed, with "Try again"

Half of new visitors keep the prompt

maia_prompt_variant is wall or no_wall, chosen once per browser when it has no model, and sent with every event. Visitors who already have the model see no change. The plan is two weeks, then keep the better version and delete the other. The numbers to compare are how many people get Maia and how many stay, because phones could stay more but download less. The query is in LOADING.md, round 13.

Keeping the download one-time

5–10% of phone downloaders and 2–5% on computers get asked again within 60 days. This asks the browser to keep the model (not Firefox, which would show a popup), trusts the save only once it has finished, and adds events for a failed save and a lost model.

Stockfish

Paired medians in a test browser, within the spread between visits:

Comparison Visits d12 d18
Return visit, desktop: this against main 8 pairs +46 ms -5 ms
Return visit, phone-sized (not slowed down): this against main 8 pairs -56 ms -38 ms
First visit, desktop: downloading or not 6 pairs -3 ms +30 ms

In an earlier first-visit run, 2 of 6 visits reached d18 up to 0.5 s later while downloading.

Tested

npm test, npx tsc --noEmit and lint pass. In a local browser: a saved model on reload, a lost model, a failed download and retry, a failed save, the full-page group, puzzles, choosing a drill, and the phone flow.

Not tested

  • A real phone
  • Whether browsers agree to keep the model (the test browser refused)
  • Starting a drill on a phone

"44 MB" becomes "42MB", which is what the download uses as sent (41.7 MB). The prompt now reads "Download the new Maia-3 (one-time 42MB download)" over "Our best model yet: the most human-like chess AI, now running on your device, with human moves at every rating in under half a second." Download buttons read "Download Maia-3 (42MB)".

"Under half a second" rests on about 10 people each on desktop and phones (0.14 s and 0.26 s stepping through a game). Slow phones will take longer, so recheck it before this leaves draft.

🤖 Generated with Claude Code

ashtonanderson and others added 2 commits November 5, 2026 07:35
…ne-time

About 4 in 10 people who saw the full-page prompt never started the download.
Half of new visitors now get the page at once: desktops download by themselves
with a small progress card, and phones get the same large prompt with simpler
words and "Not now". A button in the empty Maia panel offers it again. Puzzles
wait until the puzzle is over; drills only need Maia to start. The other half
keep the prompt, and maia_prompt_variant on every event compares the two.

Progress now moves (the model is sent compressed, so the browser has no length)
and shows the size and time left. A failed download is no longer logged as
completed.

So the download happens once: the browser is asked to keep the model, the save
is only trusted once it has finished, and PostHog hears when a save fails or a
saved model has gone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@vercel

vercel Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
maia-platform-frontend Ready Ready Preview Nov 5, 2026 8:51am UTC

Request Review

…aia is empty

The prompt is now one line, and download buttons read "Download Maia-3 (42MB)".
A game with saved analysis already shows Maia's moves, so the button in the Maia
panel no longer covers them. The prompt's buttons no longer clip on narrow phones.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@ashtonanderson
ashtonanderson marked this pull request as ready for review November 5, 2026 16:51
@ashtonanderson
ashtonanderson merged commit 9b5895e into main Nov 5, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
Preview — 2ef3e85d Deployed Nov 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant