Marketing sites
Astro-built, content-led sites that ship almost no JavaScript. Editors get a CMS; visitors get a page that renders before they notice waiting.
Services / Web
Websites and web apps built on foundations that don’t rot. We pick the framework to fit the problem — Astro when it’s content, Next.js when it’s an application — then keep the JavaScript budget honest.
Start a projectWhere we win
Then a tag manager arrives, a chat widget arrives, someone drops in a four-megabyte hero image, and the build that scored 98 in a demo is a three-second load on a mid-range phone. We write a performance budget into the scope and measure it on real visitors, so the site is still quick a year later after three teams have touched it.
What we build
Astro-built, content-led sites that ship almost no JavaScript. Editors get a CMS; visitors get a page that renders before they notice waiting.
Next.js or Nuxt for dashboards, portals and authenticated products. Server rendering where it helps, client state only where it’s earned.
A content model your team can actually fill in, wired to whichever CMS fits — Sanity, Storyblok, Payload, Contentful or Git-based markdown.
Tokens, components and documentation, so the fifth page looks like the first and a new developer doesn’t reinvent the button.
Core Web Vitals audits on field data, bundle triage, image and font strategy, and third-party scripts put on a leash.
Inherited codebases with no tests and no documentation. We stabilise first, then work out what’s worth keeping.
The toolkit
Frameworks
Content
Infrastructure
What you get
Questions
Whichever suits the problem. Content-led sites go to Astro because they ship next to no JavaScript. Applications with auth, dashboards and heavy interaction go to Next.js or Nuxt. The reasoning is written into the scope, and you never pay for our preferences.
Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds and Cumulative Layout Shift under 0.1 — measured at the 75th percentile of real mobile visitors, not as a lab score on a desktop connection.
Yes. We build from your Figma, and we flag the places where a design will fight the browser before we build them rather than after.
We do — mostly as a headless CMS behind a modern front end, or as maintenance on a site that’s working. We won’t recommend a new WordPress build when a static site would be faster and cheaper to run.
We set it up in your account, on Cloudflare or Vercel or wherever fits, and hand you the keys. We’ll keep managing it after launch if you’d rather not.
A marketing site is typically four to eight weeks. An application depends entirely on scope, which is exactly why we scope it properly first and quote against something real.