React apps that ship fast and stay maintainable
SPAs, data-heavy dashboards, and component libraries in React with TypeScript, TanStack Query, and a component architecture your team can extend without fear.
Most React codebases become unmaintainable within 12 months — not because React is bad, but because prop drilling, inconsistent state patterns, and no component boundaries. I've refactored enough of these to know what to build right the first time: clear data-fetching boundaries, a typed component API, and a design system that doesn't fight the product.
5+
Years of React in production
10+
React apps from scratch or refactored
TypeScript
Strict mode — no implicit any anywhere
0
Redux installs in the last 3 years
Trusted by founders & teams in
Everything included in every engagement
No upsells. No surprise change orders. One scope, one price.
Component library with typed API
Atomic components (Button, Input, Modal, Table) up to feature-level blocks (DataTable, FilterBar, DashboardCard). Props documented with TypeScript — no reading source code to understand usage.
TanStack Query data layer
Typed query hooks per resource, optimistic updates, background refresh, and error boundaries. Every loading and error state handled — no empty screens or silent failures.
TypeScript strict mode, no exceptions
No any, no non-null assertions, no ts-ignore. Inference used where natural, explicit types where safety matters. Codebase that the next developer can trust.
Performance by default
React.memo, useMemo, and useCallback used correctly (not everywhere). Code-split by route with React.lazy and Suspense. Bundle analysed and trimmed before handover.
State management that fits
Zustand for client state, TanStack Query for server state. Context only where it belongs (theme, auth). No Redux unless the team specifically needs it.
Testing & documentation
Vitest + React Testing Library on critical paths. Component stories in Storybook if a library is being built. README per module explaining the data flow.
The tools I actually use in production
Modern, battle-tested, and chosen for fit — not hype.
Core
- React 18+
- TypeScript 5
- Vite
- React Router v7
Data
- TanStack Query
- Axios
- Zod
- Zustand
UI
- Tailwind CSS
- shadcn/ui
- Radix UI
- Framer Motion
Quality
- Vitest
- React Testing Library
- Storybook
- ESLint
How we'll work together
Predictable, written-down, no surprises.
- 01
Component audit (existing apps)
For existing codebases: identify the duplicated components, inconsistent patterns, and biggest pain points before writing a line of new code.
- 02
Design system setup
Token-based Tailwind config, primitive components, and a naming convention that scales. Built once, used everywhere.
- 03
Feature build
Features built in vertical slices: route → data hook → component tree → tests. Deployed previews per PR so stakeholders can review on real devices.
- 04
Handover
Bundle size report, component documentation, and a Loom codebase walkthrough. Your team owns it from day one.
Pricing that matches the work
Starting prices. Final quote in writing after a 30-minute scoping call.
Component library
Design system or shared UI package
$2,000starting
- Typed component API with Tailwind
- Storybook stories + usage docs
- Published to your npm org or monorepo
- Delivered in 1–2 weeks
React SPA or dashboard
Data-heavy internal tools & apps
$5,000starting
- TanStack Query data layer + auth
- Role-based views + optimistic updates
- Responsive, tested, Lighthouse-audited
- Delivered in 3–5 weeks
Retainer
Ongoing feature development
$2,000/mostarting
- Dedicated weekly hours
- New screens, components, bug fixes
- Async standups + weekly review
- Cancel any time
Questions I get asked first
Next.js or plain React — which should I use?+
If you need SEO, server-side rendering, or an API layer — use Next.js. If you're building a fully authenticated SPA (dashboard, admin tool, internal app) where SEO doesn't matter and you already have an API — plain React with Vite is simpler and ships faster.
Can you refactor our existing React codebase?+
Yes. I start with a component and data-flow audit, identify the worst pain points, and refactor incrementally. No big-bang rewrites — you ship features throughout the engagement.
Do you build Storybook design systems?+
Yes. For teams with multiple apps or a shared component library, Storybook with interaction tests and auto-generated docs is a significant productivity multiplier. I'll set it up and document the contribution workflow.
We're using Redux, should we migrate to Zustand / TanStack Query?+
Often yes — most Redux in 2024 is managing server state that TanStack Query handles better, and local UI state that Zustand handles with a tenth of the boilerplate. I'll audit your Redux usage and recommend only the parts worth migrating.
Let's scope your project
Tell me what you're building. I'll reply with a written estimate within 24 hours — no sales call required.
Related services
Often paired with react development.
Frontend Development
Production-grade React and Next.js frontends with a focus on accessibility, performance, and design systems. Built to scale across teams and devices.
Next.js Development
App Router, React Server Components, TypeScript strict, Tailwind, and a 95+ Lighthouse score on real data. Frontend-only or full-stack — I'll fit your team.
Web Development
From the database schema to the deployed Next.js frontend, I ship modern web apps designed to rank, convert, and scale. One engineer, full ownership.
Performance Optimization
Core Web Vitals fixed, bundle sizes cut, LCP under 2.5 seconds. I audit, prioritize, and implement — or give you the plan to do it yourself.