Components and the design system
Turns designs into reusable, typed components, keeps variants consistent with the design tokens and retires one-off copies before they spread.
Hire · Frontend
Senior React developers who join your team, work in your repositories and own front-end features from component to release. Each one has passed a paid work sample on hooks, data fetching, rendering performance and accessibility before your first call.
Paid work sample before shortlisting
Senior and lead levels only
Works in your repo, rituals and review
On your team
Turns designs into reusable, typed components, keeps variants consistent with the design tokens and retires one-off copies before they spread.
Decides what lives in local state, what is server cache and what belongs in the URL, so screens stay correct after refreshes, back navigation and slow networks.
Finds re-render cascades, oversized bundles and layout shift with the Profiler and field data, and fixes the cause rather than wrapping everything in memo.
Ships keyboard paths, focus management for dialogs and menus, labelled controls and colour contrast as part of the feature, not as a later audit.
Writes React Testing Library tests for behaviour and a small set of Playwright journeys for the flows that make money.
Most React CVs list the same libraries, so the list tells you little. What separates a developer who will help your product from one who will slow it down is judgement about state: what belongs in a component, what is cached server data, and what should live in the URL. Ask a candidate to explain a screen they built where those three were mixed up, and how they untangled it.
The second signal is how they treat effects. Many production bugs in React apps come from effects that copy props into state, fetch without cancelling, or run on every render. A strong developer reaches for an effect last and can tell you why.
Vetting
Correct dependency arrays, no derived state stored in effects, cleanup for subscriptions and requests, and knowing when an effect is not needed at all.
TanStack Query or framework loaders: cache keys, invalidation after mutations, optimistic updates with rollback, and loading, empty and error states.
Typed props and events, discriminated unions for UI states, generics where they remove duplication, and no any at API boundaries.
Profiling a slow list, splitting a heavy route, virtualising long tables, and reading a bundle analyser report.
Semantic elements first, ARIA only where needed, focus traps that release, and checking work with axe and a keyboard.
Understands hydration, server and client component boundaries, and when a Next.js specialist is the better hire.
Work sample
The candidate reviews a pull request containing a stale closure, an effect that duplicates state and an inaccessible button, and explains each fix in writing.
Against a mocked API, they build a filterable list with loading, empty and error states, URL-synced filters and tests. Time-boxed and paid.
Given a recording from the React Profiler, they find the component causing the cascade and show the before and after.
A short call where they walk a non-engineer through one trade-off they made. Clear reasoning matters as much as the code.
Algorithm questions say little about how someone builds interfaces. A short paid task against a mocked API shows how a developer handles loading and error states, structures components, names things and tests behaviour. Reviewing a flawed pull request shows whether they can spot problems in someone else’s code, which is most of the job on a real team.
We keep the task under a working day and pay for it, which means experienced developers take it seriously and you see real work rather than a rehearsed answer.
Levels
Owns features end to end inside an existing component system and data-fetching pattern, and reviews peers’ pull requests.
Sets the patterns others follow: state boundaries, folder structure, testing strategy and how the design system grows.
Plans migrations such as class components to hooks or a router change, owns performance budgets and makes build-versus-buy calls for UI libraries.
If your team already has front-end conventions and a design system, a senior developer adds capacity without changing how you work. If conventions are missing or inconsistent, hire a lead who will set them and then build within them. Reach for an architect when the decision is structural: a framework migration, a performance budget that keeps failing, or a design system that several teams depend on.
Other options
If SEO-critical pages, routing and caching are the core of the job, a Next.js specialist fits better.
Open registerIf you need someone to own the database and API as much as the UI, hire a full-stack developer.
Open registerReact knowledge transfers, but mobile release, device and store work needs a React Native developer.
Open registerGive the developer one small change that reaches production in the first week. It proves access, builds and reviews work, and it shows you how they communicate. In weeks two to four, hand over a feature with a clear owner and acceptance criteria rather than a backlog of unrelated tickets.
Agree early how front-end performance and accessibility are checked. If nobody owns them, they drift. A React developer who brings measurements to standup is worth more than one who brings opinions.
FAQ
Yes. Behaviour tests with React Testing Library are part of every feature, and the work sample includes them. End-to-end coverage with Playwright is agreed per product, usually for sign-up, checkout and other revenue paths.
That is the usual setup. The first week covers repository access, local setup, your conventions and a small production change reviewed by your team, so issues with access or tooling surface early.
We test understanding of server and client boundaries and hydration. If your product leans heavily on Next.js App Router features, we recommend a Next.js specialist instead.
Works alongside
Design-to-component handoff goes faster when tokens, states and edge cases are agreed together.
Open registerFor the API layer the React app depends on, including contracts, auth and pagination.
Open registerTo own regression coverage across browsers once release frequency goes up.
Open registerPrimary sources
Dated official documentation, standards, and research that support the factual claims on this page.
Official guidance on when effects are and are not the right tool.
W3C patterns for accessible dialogs, menus and other widgets.
How to read this page
Scope, cost and timeline figures are planning guidance until confirmed in a written proposal. Diagrams and screens are illustrations, not client deliverables, and source-code rights and handover follow the signed agreement. See the delivery process and the full disclaimer.
Next decision
Define outcomes, constraints, evidence, rights and handover before delivery begins.
Commercial rights, repositories, environments, documentation, acceptance and handover remain contract-defined.