All work

In30Mins

An institutional presence for a business solutions firm, on a bespoke design system.

Role
Head of Engineering
Year
2026
Discipline
Corporate website
Status
Live
Stack
Next.js · React 19 · TypeScript · Tailwind CSS · Nodemailer
In30Mins: Corporate Website

The problem

A consultancy's website has one job: make a stranger believe the firm is competent enough to hand money to. That is a much tighter brief than it sounds, because almost every device that makes a site feel lively (motion, colour, personality) also makes a professional services firm feel less substantial.

What I built

The site is a single page. For a firm whose offer fits in a paragraph, splitting it across five routes manufactures depth that is not there and gives the visitor four more chances to leave. One page, one scroll, one form.

A bespoke design system rather than a component library. A shadcn or Material build would have been faster, but it would also look like every other build from the same parts, and the entire point of the engagement was a presence that reads as specifically this firm. The cost is maintenance: there is no upstream to pull fixes from.

Typographically it runs a serif display face against mono labels. Institutional minimalism is mostly a typographic register: restraint, generous margins, a near-absence of colour. Getting it from type rather than from decoration is what keeps it from reading as a template.

The consultation form is the only conversion point on the site, wired to Gmail SMTP through nodemailer. No CRM, no third-party form service, no analytics-driven lead scoring. For a firm at this scale an email that reliably arrives beats infrastructure nobody will maintain.

A detail worth explaining

Scroll reveals as pacing, not decoration

On a single-page site the scroll is the information architecture: there are no routes to signal that one idea has ended and another has begun. Reveal animations are doing structural work there: they mark section boundaries and set a reading pace. The discipline is that every section uses the same reveal with the same timing. Varying it per section is what turns pacing back into decoration, and it is the most common way a restrained site stops feeling restrained.

Outcome

In30Mins is live at in30mins.com on Next.js 16 and React 19, running a bespoke design system with the consultation form delivering to the firm's inbox.