Santa
Send a screenshot

Screenshot to Next.js, measured

Send a screenshot. Get the page, with the score attached.

Every other design-to-code tool stops when the code compiles. Santa keeps going until its own render matches your reference — and shows you the measured number before you decide anything.

Send a screenshotSee a build first

Nothing to sign up for/building is free

Building is free. The code is $19 a screen, and only if Santa clears 90/100.

Santa looks at its own work. Here is the evidence.

Drag the divider/step through the passes

Sample build/aperture.tsx

Aperture

Task lamp 01

Light you can aim.

One arm, three joints, a shade that stays where you put it. Built to be repaired, not replaced.

Buy — $180
A matte black steel desk lamp on warm paper

BODY

Cast steel, 2.1 kg

REACH

820 mm, 3 joints

LIGHT

2700 K, dimmable

Aperture

Task lamp 01

Light you can aim.

One arm, three joints, a shade that stays where you put it. Built to be repaired, not replaced.

Buy — $180
A matte black steel desk lamp on warm paper

BODY

Cast steel, 2.1 kg

REACH

820 mm, 3 joints

‹ ›
ReferenceRender

Pass 1 of 8

Best 72/100

72/100

under the Bar

Bar

Passes spent

8 max

Measured mismatch

  • headline 10 px small, wraps early
  • text column 40 px narrow
  • buy control not filled, corners rounded 8 px
  • third spec column missing

Viewport checks

· 1440· 768· 390

In the delivery

  • app/aperture/page.tsx
  • components/spec-row.tsx
  • public/lamp-01.png
  • evidence/fidelity.json

Below 90/100 there is no checkout to reach. Santa keeps building.

A sample build, laid out exactly as the Workshop shows it: your reference on the left, Santa's own render on the right, the Fidelity score underneath, and every miss named in plain words.

How a build runs

  1. Step 01

    You drop a reference

    One screenshot or mockup, as a PNG, JPG or WebP. One reference is one build is one screen. No account, no framework questions.

  2. Step 02

    Santa builds it and renders it

    A real Next.js App Router page in TypeScript and Tailwind. The compiled preview mounts in a sandboxed frame in your own tab, and Santa takes its own screenshot there.

  3. Step 03

    Santa measures its own render

    A deterministic image comparison against your reference, explained in plain sentences: column 40 px narrow, headline wraps early. The score is stored on the server, not in the interface.

  4. Step 04

    The number decides what happens next

    Up to 8 passes, each one fixing the largest measured miss. The best pass is kept even if a later correction regresses.

The rules, in advance

90/100

The Bar

Checkout opens only when the stored best score clears it. Enforced on the server, never by the interface.

$19

One screen, once

No subscription, no seat, no tier. You pay for a screen that already cleared the Bar, on a hosted Stripe page.

85–89

One free Rescue Pass

A build that lands just short gets exactly one more run with a larger budget. Never a second, never charged.

Below 85

Santa stops

It says the number, names the misses and keeps the render. Nothing is charged, and there is no purchasable state to reach.

Santa is the only design-to-code tool that scores its own work against your reference and refuses your money until the score clears the Bar.

Send a screenshot

Free to build/$19 only above 90