Skip to content

React development

We write React inside a framework, as the React docs recommend: Next.js for applications and Astro islands for interactive parts of content sites. We also build React code components for Framer sites when the canvas needs help. Every component is typed, small and accessible.

Build pipelineReact
Ready to ship
  1. Framework first
  2. Server Components where possible
  3. Small typed components
  4. Accessible by default
  5. State kept close to where it is used
Ready to ship

Trusted by B2B and premium service brands in 17+ countries.

When we use it

When React is the right choice, and when it is not

We choose React when

  • Interfaces with real stateConfigurators, multi-step forms, filters and dashboards where the screen reacts to what people do.

    React keeps that state predictable as the interface grows.

  • Inside a frameworkFollowing the React docs, new apps start in a framework. Ours is Next.js for applications, and Astro islands when a mostly static site needs a few interactive parts.
  • Code components for FramerFramer code components are React components, so when a Framer site needs behaviour the canvas cannot provide, we write a small, typed React component for it.

We choose something else when

  • Static pagesText, images and links do not need a client-side library. We render them as HTML and keep React for the parts that are actually interactive.
  • A single-page app for a public siteContent that should be found in search belongs in server-rendered or static HTML, not in a browser-only bundle that crawlers may not wait for.
  • When the builder already does itIf Framer or Webflow handle an interaction natively, a custom component only adds code someone has to maintain.

How we build

How we build with React

Step 01

Framework first

Next.js for applications and Astro for content sites, as the React documentation recommends, rather than a hand-assembled single-page setup.

Step 02

Server Components where possible

In Next.js, components render on the server by default and only interactive ones run in the browser, which keeps bundles small.

Step 03

Small typed components

TypeScript, clear props and one job per component, so a developer new to the codebase can read and change it safely.

Step 04

Accessible by default

Semantic elements, keyboard support and visible focus states built into each component rather than patched in at the end.

Step 05

State kept close to where it is used

Most interface state lives in the component that needs it, and shared data comes from the server, so we rarely need a global state library and the code stays easy to follow.

Considering React? Book a call and we will tell you honestly whether it fits.

Book a call

Ownership

What your team owns afterwards

You get standard React code in your own repository: no proprietary runtime, no generated code nobody can read, and documentation of how the project is structured and deployed. Any React developer can pick it up, and the components we write for Framer sites live in your Framer project, typed and documented, so they survive changes in who maintains the site.

Performance and SEO

Most React performance problems come from sending too much JavaScript. We render on the server or at build time wherever possible and load interactive components only where they are used, so the page is readable before any script runs. Public content is always in the HTML for search engines.

Pairs well with

What we pair React with

  • Next.js

    The framework React names first for new full-stack apps, with routing, server rendering and data fetching built in.
  • Astro

    For content sites with a few interactive parts: React components run as islands and the rest of the page stays plain HTML.

Tools and workflow

The stack behind the work

The tools this work runs on, grouped by the job they do. Only tools we use, never a partnership.

Library

  • React
  • TypeScript

Frameworks we pair it with

Workflow

  • GitHub
  • Figma

AI

  • Claude
  • Google Gemini
  • Cursor

Common questions

React development questions

Do you build plain React single-page apps?

Rarely. The React documentation recommends a framework for new apps, and we follow it: Next.js for applications, Astro for content sites with interactive parts.

Can you add React components to a Framer site?

Yes. Framer code components are React components. We use them when a Framer site needs behaviour its canvas does not offer, and keep them small and typed.

Can you work on our existing React codebase?

Yes. We start with an audit of structure, state handling and dependencies, then agree what to improve before writing new features.

Next step

Considering React? We will tell you honestly whether it fits.

We agree the architecture before any code is written, build in reviewable stages on staging, then test, deploy and hand over with the documentation your team needs.

  • Architecture firstScope and structure agreed before any code.
  • Built in reviewable stagesWorking pages on staging as the build moves.
  • Handed over properlyDeployment, documentation and handover notes.

Considering React for your next build?

Tell us what the site or product needs to do, and we will tell you honestly whether React fits, before anything starts.