Websites built like software, not like templates.
I design and build full-stack web projects — from marketing sites to content-managed platforms — with the same rigour I'd bring to a research codebase: typed, version-controlled, and built to be maintained.
const developer = {
name: "Paolo Minhas",
stack: ["Next.js", "TypeScript",
"Docker"],
basedIn: "Edinburgh, UK",
also: ["physicist", "musician"],
};01 — Watch it build
Four builds, one continuous scroll.
An editor drives everything on the right — theming, i18n, a 3D-tilted layout, and a live payment-gateway swap. Keep scrolling; nothing here snaps, it all just tracks your scrollbar.
autonomous theme loop
paolominhas@portfolio ~/web $ code theme.config.ts
scroll-linked translation
paolominhas@portfolio ~/web $ code i18n/localize.ts
✓ 14 nodes retranslated → it-IT
direct DOM manipulation
paolominhas@portfolio ~/web $ code Mockup.tsx
swapping payment gateway
paolominhas@portfolio ~/web $ code package.json
✓ added 1 package · stripe-react-js@3.x
✓ added 1 package · worldpay-react-sdk@2.x
Live theme engine
Design tokens,
applied in real time.
- •250g unsalted butter, softened
- •125g caster sugar
- •375g plain flour
- •A pinch of salt
£48.00
Order #EU-2026-0417
02 — Past highlights
Two builds worth a closer look.
Est. 1968
Edinburgh University
Chamber Orchestra
Autumn season now on sale
View concertsAI Advisory
Strategy that survives contact with your stack.
Diorama Consulting
Book a call03 — How it runs
Four stages, start to finish.
Discover
A short call to understand what the site actually needs to do — and, just as importantly, what it doesn't.
Design
A distinct visual direction grounded in the subject, not a generic template with a new logo dropped in.
Build
Typed, componentised, and version-controlled from the first commit — built to be handed off or extended later.
Launch & support
Deployed with CI/CD behind me, and available afterwards for the inevitable content tweak or feature request.
Have a project in mind?
Tell me a bit about what you need and I'll reply within a couple of days with next steps.