Menu

React.

one mental model — web and mobile

React for rich, fast web interfaces; React Native for iOS and Android from largely the same skills and code. Paired with Laravel through Inertia, it gives a modern single-page feel without the complexity of a separate API layer — one codebase, one deployment, no duplicated logic. When a project needs a mobile app beside the web app, React Native means one team and one design language instead of three parallel builds.

Role in my stack
Frontend & mobile
Pairs with
Laravel + Inertia
Best for
Rich UIs & apps
Mobile
React Native
Where it shines

Rich, responsive UIs

Component-based interfaces that stay fast and predictable as they grow — dashboards, editors, live-updating and data-heavy screens.

Perfect Laravel pairing

With Inertia, React becomes Laravel's view layer: SPA smoothness, server-side routing and auth, no separate API to build and secure.

Web + mobile from one team

React Native produces real native apps from the same component model — shared logic, shared design system, faster iteration.

The largest ecosystem

Whatever the UI problem — charts, tables, forms, maps — the React ecosystem has a mature, battle-tested answer. Hiring is never a bottleneck.

Ecosystem & tools I use with it
Inertia.jsReact NativeTypeScriptViteTanStack QueryZustandTailwind CSSRechartsReact Hook FormExpo
When I reach for it
01
Interactive dashboards and tools

When the UI is the product — filtering, editing, live updates, drag and drop — React earns its complexity.

02
A mobile app beside the web app

React Native shares logic and design language with the web product instead of a second, separate build with its own bugs.

03
Modernizing a jQuery-era frontend

Old page-by-page frontends migrate to React incrementally, screen by screen, while the site keeps running.

04
Real-time collaborative features

Live updates over websockets (Laravel Reverb/Echo) render naturally in React's state model.

How it fits together

React never lives alone in my projects — it's the presentation layer over a Laravel core. Inertia removes the API tax for web apps; when a real API exists (mobile, third parties), it's designed once and shared.

Inertia bridges Laravel and React: server-side auth and routing, client-side interactivity.
React Native apps consume the same Laravel API used by integrations — one contract, tested once.
For simpler screens I'll recommend Livewire instead — less JavaScript, same Laravel team can maintain it.
Straight answers what clients actually ask
"React or Livewire — which do we need?"

Depends on the UI. Deeply interactive tools justify React; mostly-forms-and-tables products are often better served by Livewire, which is cheaper to build and maintain. I'll tell you which honestly.

"Do we need a native app or is web enough?"

Often a responsive web app is enough to start. When push notifications, offline use, or app-store presence matter, React Native adds mobile without doubling the codebase.

"What about Vue or Svelte?"

Both excellent — I default to React for ecosystem depth and hiring, but on an existing Vue codebase I work with Vue, not against it.

Work built with React
Multi-tenant association platform with per-tenant cPanel and database isolation a Finnish association management vendor AI-assisted property inspection with media analysis and generated findings a property inspection platform Golf score tracking with a skill-matched virtual opponent a sports app startup Trip planner with route stops, fuel, food and lodging on the map a travel app startup
Official react.dev ↗ Documentation ↗

In my work

Most of my Laravel platforms ship with React or Livewire frontends — chosen per project, not by habit.

Discuss a project ↗
More from the stack
Laravel ↗AI / LLM ↗Python ↗