Skip to content
All work

Client work

UXGear

Marketing site for a design studio.

Year
2025
Role
Sole engineer
Type
Client work

What it is

UXGear is a digital design studio, and their site opens on the line 'Crafting Exceptional Digital Experiences'. That sets an awkward bar: when the client sells design quality, the website is not a description of the service, it is a sample of it. A slow or clumsy studio site actively argues against the studio.

What is actually hard about a marketing site

Marketing sites look like the easy category and are not. There is no complex state and no data model, so all the difficulty concentrates in the two things that are genuinely hard to get right: perceived performance and motion that feels deliberate rather than decorative.

The failure mode is specific. Heavy imagery and animation libraries make the first load slow, and a studio site that takes four seconds to paint has already lost the argument it exists to make — before anyone reads a word of the copy.

What I built

The site is Next.js on Vercel, built so the content renders on the server and arrives as HTML rather than assembling itself in the browser. Images go through the framework's optimisation pipeline with explicit dimensions, so the layout never jumps while they load.

Motion is used at section boundaries rather than on every element. The restraint is the point: a page where everything animates reads as a template, and a page where two or three things move at the right moment reads as considered.

Decisions

Four calls I would make the same way again

  • 01

    Server-rendered content, always

    A marketing page whose text is assembled client-side is slower to paint and harder to index. Both of those directly undercut the only two jobs the site has.

  • 02

    A motion budget, not a motion library

    Choosing a small number of moments to animate keeps the page fast and keeps the effects meaningful. Adding an animation library would have made it easy to spend that budget everywhere at once.

  • 03

    Reserve space for every image

    Explicit dimensions mean nothing shifts as assets arrive. On a site selling visual craft, a layout that jumps during load is the most expensive possible bug.

Stack

Application

  • Next.js
  • TypeScript
  • Tailwind CSS

Delivery

  • Vercel
  • Image optimisation
  • Static rendering

Next case study

reState