Het kantoor van een scale-up aan de gracht, de oprichter laat iets zien op zijn telefoon.
UISandbox · Open-source tool

Elke app restylen, live in de browser

Kleur, letter en afronding worden draaiknoppen, en je neemt het resultaat mee als patch, tokens of DESIGN.md.

  • Gereedschap voor makers
  • Design systems
  • AI
Website
uisandbox.org
Platform
Web
Jaar
2026

UISandbox in twee minuten

UISandbox is een tool voor wie een webapp bouwde en nog sleutelt aan hoe hij eruitziet. Je zet de gebouwde app in je browser, en elke kleur, letter en afronding wordt een draaiknop. Ben je tevreden, dan neem je het resultaat mee als code. Wij bouwden het als open-source experiment, en je hebt er geen account voor nodig.

In het kort

dagen van eerste commit tot livegang
10
commits
159
regels code
22.000
echte builds in de testset
165
exportvormen
13

Wat er lag

Je app werkt, alleen de knoppen zijn te blauw en de hoeken te scherp. Je past een waarde aan, bouwt opnieuw en kijkt, en dan nog een keer met een andere letter. Bij UIcockpit, ons vorige experiment, liepen we er zelf tegenaan. We gaven mensen een complete designkit, maar konden niet laten zien hoe hun eigen app erin zou staan. Een gebouwde app moest dus precies zo in het tabblad komen, met elke design-waarde als draaiknop. Er mocht geen bestand de browser uit. En we moesten bewijzen dat er niets verandert zolang je niets draait.

Drie details die het verschil maken

Probeer het zelf

Draai aan de knoppen. Elke knop staat in het midden op ×1, precies zoals het in de code staat, en de export laat alleen zien wat je veranderde.

Nagebouwd principe. De echte UISandbox laadt je eigen build en maakt van elke kleur, letter en afronding in je CSS een knop.

Het product in drie schermen

  • De landing van UISandbox: Play with your app's design. Right in the browser, het commando npx uisandbox-mcp open, en het sleepvlak met drie tabs voor een zip, een codebase of een repo.
    De landing met het commando voor een agent, en daaronder het sleepvlak met drie tabs.
  • De editor van UISandbox met de repo van Tufte CSS geladen: links de knoppen voor merk, achtergrond, tint, verzadiging, contrast, letter, maat en spacing, rechts de pagina die live meebeweegt, en een paneel met wat er uit de code gelezen is.
    De editor met Tufte CSS: links de knoppen, rechts de pagina die live meebeweegt en wat er uit de code is gelezen.
  • Het exportvenster van UISandbox: precies wat er in de sandbox staat, met de keuze tussen een patch voor je agent, je eigen bestanden, het ruwe blad, tokens en een verse tokenlaag.
    De export: een patch voor je agent, je eigen bestanden, tokens of een DESIGN.md. Dertien vormen in totaal.

Van opnieuw bouwen naar draaien aan een knop

Je app in het tabblad, en je bestanden blijven bij jou

Zet je nu de map van je build in UISandbox, dan staat je app precies zo in je tabblad. Daarvoor speelt je eigen browser de server.

Een service worker serveert de bestanden uit het tabblad zelf, en bij ons wordt niets bewaard. Tab dicht, en alles is weg.

Nul verschillen zolang je niets draait

Een waarde die je wilt draaien, moet eerst een variabele zijn. Een herschrijver vervangt daarom elke design-waarde in je CSS door een variabele met precies dezelfde waarde. Zolang je nergens aan draait, rendert de pagina dus identiek.

Toch meet de tool het ook zelf na. Hij laadt je onaangeraakte build ernaast en vergelijkt de berekende stijlen van elk element. Nul verschillen, of hij noemt wat afwijkt.

UISandbox is getest op een vaste set van 165 echte builds, van Bootstrap, MUI en Ant Design tot Next en Astro. Ze gaan allemaal door headless Chromium, en van elke build ligt de verwachte uitkomst vast.

Knoppen op jouw schaal, met een meter erbij

Aan die variabelen hangen de knoppen, voor kleur, letter, vorm en dichtheid. In het midden staat een knop op ×1, precies wat er nu in je code staat. Draai je eraan, dan beweegt je echte app live mee. De knop buigt je schaal zonder dat die zijn vorm verliest.

Niet elke waarde laat zich zo vangen, want wat hardgecodeerd diep in een component staat, kan geen knop bereiken. Een meter laat daarom zien welk deel van het scherm de knoppen raken en wat erbuiten valt.

Dertien vormen, ook voor je agent

Tevreden? Dan neem je het mee in dertien vormen, van een CSS-patch en design tokens tot Swift- en Android-constanten. Er is ook een DESIGN.md, een bestand dat een AI-agent direct kan volgen.

Zo'n agent kan UISandbox ook zelf bedienen, want dezelfde motor draait als MCP-server, een aansluiting voor agents. Met npx uisandbox-mcp open laadt de agent een build. Daarna zet hij knoppen, verifieert hij en exporteert hij, met screenshots erbij.

En die te blauwe knoppen uit het begin? Daar draai je nu aan in het tabblad, zonder opnieuw te bouwen.

Wat we eruit hebben geleerd

  1. 01

    Maak van identiek iets wat je kunt nameten. We hadden kunnen zeggen dat de herschrijver niets verandert, en dat was waarschijnlijk waar geweest. Alleen gelooft iemand die zijn eigen product in een vreemde tool laadt dat pas met het bewijs erbij. Op dat bewijs leunt de rest.

  2. 02

    Zeg waar je tool ophoudt. Sommige waarden kan geen knop bereiken, en de meter zegt dat hardop. Zonder die meter kost de eerste knop die niets doet je meteen je geloofwaardigheid.

  3. 03

    Het gat in je vorige product is vaak het volgende. UIcockpit gaf iemand een afgewerkte kit, en UISandbox laat zien hoe zijn eigen app erin staat. Zo gaat het hier meestal: je maakt iets af en ziet precies één ding dat het nog niet doet. Dat ene ding is scherper geformuleerd dan elk idee op een lijstje.

Letters en kleuren

Letters
Interface
InterRegular voor de interface en vet (700) voor de koppen op de landing. Eén familie, zonder aparte letter voor de koppen.
Code en waarden
JetBrains MonoVoor het commando, de waarden op de knoppen en alles wat je kunt kopiëren.
Kleuren
  • Grafiet
    #1a1a1d
    tekst en de knop, in de nachtstand de achtergrond van de editor
  • Nevelwit
    #f4f5f8
    de achtergrond van de landing
  • Wit
    #ffffff
    het sleepvlak en de panelen
  • Groen
    #1a7f4b
    een controle die klopt: 1:1 bevestigd
  • Amber
    #b45309
    een waarschuwing: een waarde die de knoppen niet raken
  • UISandbox heeft geen eigen accentkleur. De kleur in de editor is die van jouw app, en daar mag de tool niet mee concurreren.
  • Een lichte en een donkere stand, met dezelfde vijf rollen. Een knop toont de waarde uit jouw code altijd als ×1.
  • De waarden zijn gemeten in de CSS van uisandbox.org en de tokens in de build, 7 september 2026.

Onder de motorkap

  • Frontend
    • React 19
    • TypeScript
    • Vite

    Alles draait in het tabblad, zonder server-state, account of analytics.

  • In het tabblad
    • Service worker
    • MessageChannel

    De service worker serveert je bestanden uit het tabblad zelf, dus ze verlaten je browser nooit.

  • Kwaliteit
    • 165 echte builds
    • Headless Chromium
    • Vastgepinde uitkomsten

    Van Bootstrap en MUI tot Next en Astro: elke build gaat door headless Chromium, met de verwachte uitkomst vastgepind.

  • Voor agents
    • MCP-server
    • npx uisandbox-mcp
    • 13 exportvormen

    Een agent kan een build laden, knoppen zetten, verifiëren en exporteren, met screenshots erbij.

  • Uitrol
    • Cloudflare Workers
    • MIT

    Open source onder MIT, en tien dagen na de eerste commit live.

Voor wie verder wil lezen

Hoe het precies werkt

UISandbox is gebouwd met React 19, TypeScript en Vite.

UISandbox is gebouwd met React 19, TypeScript en Vite. De service worker krijgt je bestanden via een MessageChannel uit het tabblad zelf. Er is geen server-state en er draaien geen analytics.

Tussen de eerste commit en de livegang zaten tien dagen, met 159 commits en zo'n 22.000 regels code. UISandbox is open source onder MIT.

Wat er open staat

De meter die zegt waar de knoppen ophouden, wijst ook naar het volgende werk.

De meter die zegt waar de knoppen ophouden, wijst ook naar het volgende werk. Hoe je een waarde diep in een component bereikt, buiten elke variabele en zonder de build te herschrijven, weten we nog niet. Het antwoord mag de 1:1-garantie in elk geval niet kosten.

Dan de testset. De 165 builds zeggen veel over de frameworks die erin zitten, en niets over de rest. Elke build die iemand inlaadt is dus ook een meting. De eerste die stukgaat is de interessantste.

Wat kan ik in UISandbox laden?

Een gebouwde app: de dist-, build- of out-map die er al is. Je zet hem erin als zip, als map of als publieke repo.

Hoe weet ik dat UISandbox mijn app echt 1:1 toont?

UISandbox meet het zelf na. De tool zet je onaangeraakte build ernaast en vergelijkt elk element. Wijkt er iets af, dan zegt hij wat.

Verlaten mijn bestanden mijn browser als ik UISandbox gebruik?

Nee. Een service worker serveert ze uit het tabblad zelf, zonder account en zonder analytics. Alleen een publieke repo halen we op via onze eigen route, en daar bewaren we niets. Tab dicht, en alles is ongedaan.

Wat exporteert UISandbox?

Dertien vormen, waaronder een CSS-patch, design tokens, Swift- en Android-constanten en een DESIGN.md die een AI-agent direct kan volgen.

Kan een AI-agent UISandbox bedienen?

Ja. UISandbox draait ook als MCP-server. Een agent start hem met het commando npx uisandbox-mcp open. Daarna zet hij zelf knoppen, verifieert en exporteert hij.

Wat we hier deden

Lees ook

De oprichter van een filmstudio voor de ledwand met een zonsondergang, een laptop onder zijn arm.

Wil je even gratis sparren over jouw digitale idee?

Waar loop jij tegenaan in je bedrijf? Wat kan beter? Wat kan sneller? En wat doet iemand nog elke week met de hand?

  • Een halfuur sparren over jouw idee, gratis
  • Ontdek welke route het beste werkt voor jouw bedrijf
  • Krijg een ruwe inschatting van de prijs en het aantal weken
Wat is jouw idee?

„Een browsertool zoals Figma, maar dan om samen muziek te maken.”

Muzieklabel, Hilversum

Alexander Kaan, zwart-witfoto.

Vertel me je probleem, je geniale idee of stel gewoon wat vragen!

Alexander Kaan, product designer

Of plan direct een halfuur (opent in een nieuw venster)Of stuur een WhatsApp (opent WhatsApp)

Mogen we met cookies meten hoe je deze site gebruikt? Meer over cookies