LAB

Lab

Every front-end effect and feature we build, running as its own demo. Nothing on this page moves, plays sound or listens for anything until you press Run on a card. Press Run again to stop it and reset the card.

CATEGORIES

MOTION

Scroll reveal

MOTIONLOW

Elements fade and rise as they enter the scroller, one after another.

PRESS RUN TO START

View transitions

MOTIONLOW

A thumbnail morphs into a header using the View Transitions API, with a crossfade fallback.

PRESS RUN TO START

Scroll-drawn SVG

MOTIONLOW

A path draws itself as you scroll the sandbox, segment by segment.

PRESS RUN TO START

Text split

MOTIONLOW

A headline arrives one character at a time, 24ms apart.

PRESS RUN TO START

Mask line reveal

MOTIONLOW

Lines of text slide up from behind an invisible edge, overlapping as they go.

PRESS RUN TO START

Magnetic button

MOTIONLOW

A button label leans toward the pointer and eases back when it leaves.

PRESS RUN TO START

Spotlight mask

MOTIONLOW

A dimmed panel reveals its content only inside a circle that follows the pointer.

PRESS RUN TO START

Tilt card

MOTIONLOW

A card tilts toward the pointer with a highlight sweeping across its face.

PRESS RUN TO START

Infinite marquee

MOTIONLOW

A seamless scrolling row of service names that pauses when you hover it.

PRESS RUN TO START

Grain overlay

MOTIONLOW

Generated noise laid over a flat panel, with the strength on a slider.

PRESS RUN TO START

Gradient mesh

MOTIONMEDIUM

Three blurred blobs drifting on long offset loops behind the content.

PRESS RUN TO START

Hover video preview

MOTIONLOW

A poster that swaps to a silent looping clip on hover, drawn here in the browser.

PRESS RUN TO START

Blur-up image

MOTIONLOW

A tiny placeholder scales up blurred and resolves into the full image.

PRESS RUN TO START

Count up

MOTIONLOW

Numbers counting from zero to their value, easing out as they land.

PRESS RUN TO START

Scroll progress

MOTIONLOW

A thin bar tracking how far through the sandbox's own scroller you are.

PRESS RUN TO START

Pixel field

MOTIONMEDIUM

The cursor-reactive field from the home page, with cell size and radius on sliders.

PRESS RUN TO START

INTERACTIVE

Quote configurator

INTERACTIVELOW

Two frames from the real quote tool, which lives on its own page.

PRESS RUN TO START

Before/after slider

INTERACTIVELOW

A divider you drag — or move with arrow keys — to wipe between two states.

PRESS RUN TO START

Theme switcher

INTERACTIVELOW

Four palettes restyling a sample layout by swapping custom properties inside the sandbox.

PRESS RUN TO START

Code playground

INTERACTIVEMEDIUM

HTML you type, rendered live into a sandboxed iframe with scripts and same-origin off.

PRESS RUN TO START

Command palette

INTERACTIVELOW

⌘K opens a filterable list of this page's demos and jumps to the one you pick.

PRESS RUN TO START

Instant filter

INTERACTIVELOW

A list narrowing as you type, with the layout holding still.

PRESS RUN TO START

Live availability

INTERACTIVEMEDIUM

Real open slots read from a connected calendar.

PRESS RUN TO START

Needs an integration that is not connected here.

DATA AND BACKEND

Client portal

DATA AND BACKENDHIGH

A signed-in area for your customers or staff, annotated here rather than simulated.

PRESS RUN TO START

Needs an integration that is not connected here.

Status page

DATA AND BACKENDMEDIUM

Uptime and incidents read from a monitor.

PRESS RUN TO START

Needs an integration that is not connected here.

Analytics dashboard

DATA AND BACKENDMEDIUM

Traffic and conversion figures read from an analytics source.

PRESS RUN TO START

Needs an integration that is not connected here.

Form pipeline

DATA AND BACKENDMEDIUM

Where an enquiry goes after someone presses send, drawn as the route it takes.

PRESS RUN TO START

OG image generation

DATA AND BACKENDMEDIUM

Share images rendered on request by a real route on this site.

PRESS RUN TO START

Programmatic landing pages

DATA AND BACKENDMEDIUM

A page per service and area, generated at build time from one array.

PRESS RUN TO START

Structured data

DATA AND BACKENDLOW

The JSON-LD search engines read, with every factual field still to be supplied.

PRESS RUN TO START

Multi-language

DATA AND BACKENDMEDIUM

A locale toggle over a sample block, with the hreflang markup shown beneath.

PRESS RUN TO START

Voice agent

DATA AND BACKENDHIGH

A live call answered by the agent, which needs a number and an endpoint to exist.

PRESS RUN TO START

Needs an integration that is not connected here.

CRAFT DETAILS

Content skeletons

CRAFT DETAILSLOW

Placeholders shaped exactly like the content that replaces them, so nothing jumps.

PRESS RUN TO START

Optimistic UI

CRAFT DETAILSLOW

An added item appears at once and rolls back visibly when the save is made to fail.

PRESS RUN TO START

Focus ring

CRAFT DETAILSLOW

A designed keyboard focus ring across five controls. Tab through them.

PRESS RUN TO START

Selection colour

CRAFT DETAILSLOW

Text selection styled to match the site, next to the browser default.

PRESS RUN TO START

Useful 404

CRAFT DETAILSLOW

A missing page that offers the likely destinations instead of an apology.

PRESS RUN TO START

Stateful favicon

CRAFT DETAILSLOW

The tab icon reflecting idle, working and done, restored when you stop.

PRESS RUN TO START

Keyboard shortcuts

CRAFT DETAILSLOW

Four shortcuts bound only while the demo runs, with a key-press readout.

PRESS RUN TO START

TRADE-OFFS

Custom cursor

TRADE-OFFSLOW

The pointer replaced by a drawn one, inside this sandbox only.

PRESS RUN TO START

TRADE-OFF — replaces the one UI element every user already trusts; breaks text cursors and drag affordances.

Scroll hijack

TRADE-OFFSMEDIUM

Eased scrolling that takes over the sandbox's own scroller.

PRESS RUN TO START

TRADE-OFF — kills the native scrollbar, breaks find-on-page and trackpad momentum.

WebGL shader

TRADE-OFFSHIGH

A fragment shader running on the GPU, written without a library.

PRESS RUN TO START

TRADE-OFF — heavy GPU cost on low-end laptops and phones; drains battery.

Intro preloader

TRADE-OFFSLOW

A gate held in front of the content for 1400ms.

PRESS RUN TO START

TRADE-OFF — a delay you added to your own content on purpose.

Interaction sound

TRADE-OFFSLOW

A click synthesised in the browser, muted until you turn it on.

PRESS RUN TO START

TRADE-OFF — never autoplay; many users treat sound on a website as a reason to leave.

Horizontal scroll

TRADE-OFFSLOW

A sideways track of panels inside the sandbox.

PRESS RUN TO START

TRADE-OFF — most people cannot operate horizontal scroll on a trackpad and will not find the rest of the content.

Text scramble

TRADE-OFFSLOW

A heading resolving out of random characters.

PRESS RUN TO START

TRADE-OFF — unreadable mid-animation and actively annoying after the second viewing; never use it on more than one heading.

Mobile parallax

TRADE-OFFSMEDIUM

Layers moving at different rates as the sandbox scrolls.

PRESS RUN TO START

TRADE-OFF — janky on iOS Safari because of address-bar resize; disable it below 900px in real use.