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