Websites and web apps that load fast, rank well, and stay fast.
We build production web software on React and Next.js — marketing sites, storefronts, and full applications — typed end to end and statically rendered wherever it earns its keep. This site you are reading is one of ours: statically generated, served from the edge, reading from a database on another continent.
What we build, concretely.
Marketing sites that convert
Designed and built by the same team, so the design that gets approved is the design that ships. No agency handoff, no "the devs changed it".
Headless commerce
Storefronts and custom checkouts on top of Shopify, Medusa, or Stripe — product pages that render statically and carts that feel instant.
Web applications
Dashboards, customer portals, and internal tools with real auth, real data models, and room to grow without a rewrite.
SEO built in, not bolted on
Structured data, sitemaps, canonical strategy, and Open Graph cards — every page machine-readable by the crawlers that matter, including AI engines.
Performance budgets
Static generation, incremental revalidation, edge caching, and optimised media. We measure what we ship, not just what we build.
Accessibility from the start
Keyboard paths, focus states, contrast, reduced motion. We build for the visitors most sites quietly exclude.
The stack, and why.
React 19 + Next.js 15
App Router, server components, ISR — the page is HTML first and hydration second.
TypeScript
Strict mode everywhere. If it compiles, it runs.
Tailwind CSS
Design tokens live in the theme, so the code and the design system cannot drift apart.
Headless commerce
Shopify Storefront API, Medusa, Stripe Billing — your data, your rules.
Postgres · D1 · Redis
The right store for the access pattern, not the one we happen to like this month.
Playwright
End-to-end tests that run on every pull request, so refactors stay boring.
How a project runs.
Scope
One working session, then a written estimate with a fixed price — in days, not weeks of back-and-forth.
Architect
Data model, routing, render strategy, and hosting decided on paper before a line is written.
Build weekly
You get a preview URL in week one and watch it grow. No big reveal, no surprises.
Ship & measure
Analytics, monitoring, and a support retainer if you want one. Sites we build keep their scores.
Before you ask.
It depends on scope, and we say so in writing after one scoping call. Marketing sites are typically a matter of weeks; applications are typically months. You get a fixed quote before we start, not a running meter.
Everything else we build.
Have a web build in mind?
Talk to the engineers who would actually do the work — no account managers, no sales deck. One call, then a written scope and a fixed price.
Book a scoping call