I build interfaces that feel alive.

Making web & app experiences at Blupp.

Manifesto

Most websites are read. The ones worth remembering are felt. I obsess over the milliseconds between a click and a reaction. The easing, the weight, the timing, until software stops feeling like software and starts feeling alive.

Performance

Built to befast.

Speed is a feature, not a phase. These numbers aren't marketing: they're from your visit, measured live in your browser just now.

0.00s

Until the headline painted

Google calls anything under 2.5s good.

0KB

Total page weight, compressed

The median web page weighs over 2 MB.

0

Requests, fonts included

No cookies, no ad trackers.

Process

From sketch
to shipped.

  1. 01SketchIdeas on paper first. Cheap to change, quick to throw away.
  2. 02WireframeStructure and hierarchy, before a single colour.
  3. 03DesignType, colour and imagery that carry the brand.
  4. 04ShipMotion, states and feedback. Built, tested, live.

Details

The littlethings.

Nobody notices a good interaction, but everyone feels it. Here are six small ones I love building. They're all real, so go on and poke them.

Feedback

Click it

Loading and success, told by a single shape.

Navigation

Switch tabs

24.8kVisitors this week

The indicator stretches, like it has somewhere to be.

Notifications

Tap the phone

Status that grows out of the hardware, the way iOS does it.

Deployed to productionyourproduct.com · 0.8s buildnow

Delight

Like it

A tiny reward, with a number that rolls.

Theming

Flip the switch

DarkLight

Dark to light, revealed from where you tapped.

Control

Drag past the ends

Rubber-banding tells you you've hit the limit, without saying a word.

Fin.

Made by hand, in code

Thanks forscrollingthis far.

Every animation, shader and interaction on this page was designed straight in code. No templates, no page builders. If something here made you smile, I'd love to hear which one.

  • Astro, GSAP & Lenis
  • A hand-written WebGL shader
  • No client-side framework
Say hi