Independent web studio · Brussels

Websites built with an engineer's discipline.

I'm José Luis Herranz, a nuclear engineer who designs and ships websites and web apps. The same rigour I bring to simulating liquid-metal flow inside fusion reactors goes into your pages: measured, not guessed. Fast where it counts, accessible by default, and built to outlive the next framework fad.

field state · laminar Re ≈ 3.8×10³ LCP · 0.7 s a11y · WCAG AA
10+
Years in engineering & R&D
100
Lighthouse performance, routinely
2
Native stacks: PHP & Python
3
Working languages: EN · ES · FR
What I build

From a one-page site to a simulation dashboard.

No two projects share a template. I scope each one like a problem with boundary conditions, then build only what earns its place on the page.

Bespoke websites

Hand-built sites that load fast and read well — marketing pages, portfolios, learned societies. No bloated page-builder unless you actually want to edit it yourself.

design + build

Web apps & dashboards

Member portals, internal tools, data explorers. I once built a property database and expert system for a liquid-metal alloy in PHP — your CRM is not going to scare me.

PHP · FastAPI · React

Scientific & technical sites

Papers, datasets, rendered equations, IEEE references that don't fall apart. Built for the kind of reader who opens the methods section first.

Typst · MathJax

CFD & data visualisation

Turn simulation output into something a browser can actually show — streamlines, scalar fields, time series — without shipping a forty-megabyte payload to do it.

Plotly · D3 · WebGL

Performance & SEO

Core Web Vitals in the green, semantic markup, a sitemap that search engines like. Speed is a feature; I treat it as a requirement, not an afterthought.

Core Web Vitals

Care & maintenance

Updates, backups, monitoring — the unglamorous work that keeps a site alive after launch. You get a site that's still standing in two years, not a liability.

retainers
The difference

A website is a system. I treat it like one.

In a fluid simulation you don't trust a result until the residuals converge and the numbers stop moving. A website deserves the same honesty. I specify before I build, measure instead of assume, and I don't call it finished because it looks done.

Requirements first

We agree what the site has to do — and what it doesn't — before a single pixel is placed.

Measured, not guessed

Load time, accessibility, conversions: instrumented and reported, never hand-waved.

Built to last

Plain, well-documented code over the framework of the month. You — or the next person — can still read it.

"I'd rather hand you a site that's slightly less flashy and entirely under control than a beautiful one nobody can maintain."

— how I think about every brief

Selected work

A few problems I've solved.

Representative of the work, with client detail kept deliberately light.

Liquid-metal property explorer

An expert system for the thermophysical properties of a Pb-15.7Li eutectic: ingest papers, store every value with its uncertainty and temperature range, query it in seconds.

PHPMySQLdata viz

Learned-society platform

A full rebuild for a national scientific society: membership tiers, online payments, an events calendar and a newsletter pipeline — all on one maintainable WordPress stack.

WordPressWooCommercememberships

CFD post-processing dashboard

A browser tool to slice 3-D simulation fields, scrub through time steps and compare runs side by side — so engineers stop emailing screenshots of ParaView.

PythonFastAPIPlotly

Research portfolio & publications

A fast, static academic site: publication list with proper references, equations that render crisply, and a build that deploys from a single command.

TypststaticCI deploy
How we get there

Five steps, borrowed from solving flow problems.

01

Discovery

Define the domain and the boundary conditions — who it's for, what it must do, what success looks like.

02

Architecture

Mesh the problem: information architecture, the right stack, wireframes you can react to early.

03

Build

Solve it in short iterations. You see the site take shape and steer it before it sets.

04

Convergence

QA, performance, accessibility, every device. We don't ship while the result is still diverging.

05

Launch & care

Deploy, watch the metrics, and keep it healthy. Launch day is a milestone, not the finish line.

Spec sheet

The honest fine print.

Stack
PHP · Python · WordPress · FastAPI · React · Typst — chosen per project, not per habit
Performance target
LCP ≤ 1.0 s · critical CSS under 100 KB · zero layout shift
Accessibility
WCAG 2.1 AA, keyboard-navigable, tested with a screen reader — not just a plugin badge
Hosting
Your server or a managed one I set up · automated deploys · backups
Based in
Brussels (CET) · comfortable working across time zones
Languages
English · Español · Français
José Luis Herranz García
José Luis Herranz · Brussels
Who's behind it

The person you'd actually work with.

I didn't arrive at the web from design school. I came through nuclear engineering — a doctorate on the liquid-metal alloys that will line fusion reactors, proposal evaluation for the European Commission, the occasional paper along the way. Building clear, fast websites started as a way to make that work legible to other people. It turned into something I'm good at and, honestly, enjoy.

Work with me and you deal with me: the same person who scopes the project, designs it, writes the code and answers your email. No account managers, nothing lost in a handoff. I keep only a few projects open at once — on purpose, so each one gets the attention it needs.

Start a project

Tell me what you're trying to build.

A line or two is enough to start. I read every message myself and reply within a couple of working days — usually with questions, because the right questions save you money.

No newsletter, no sharing your data. Just a reply.