React, Vue, or Svelte SPAs on Laravel, without a separate API.
Inertia.js applications that feel like a SPA to users and ship like a server rendered Laravel app to the engineering team. One codebase, one team, one deployment, full React or Vue interactivity, and zero CORS or token authentication headaches.
- Inertia.js with React, Vue 3, or Svelte (Vue is most common, React for larger teams)
- Vite for fast development and production builds, SSR through Node sidecar where SEO matters
- Full TypeScript support with shared types between Laravel and frontend
- No client side routing, no separate API, no CORS, no token expiry surprises
SPA feel, monolith simplicity.
Inertia.js, in plain terms.
Inertia.js is a library that lets you build single page applications using classic server side routing and controllers, with React, Vue, or Svelte as the frontend layer. Instead of building a separate API consumed by a separate frontend, your Laravel controllers return Inertia responses that hydrate page components on the client. Navigation feels instant because Inertia handles client side transitions, but the architecture stays simple: one codebase, one team, one deployment.
The honest summary: Inertia gives you React or Vue interactivity without the architectural overhead of a separate API and SPA. No client side routing to maintain. No API to design. No CORS configuration. No token authentication headaches. Authentication, validation, and authorisation stay on Laravel where they belong. We have shipped Inertia applications across SaaS dashboards, customer portals, internal tools, and full product applications since Inertia 1.0 in 2020.
Signals your project is a good Inertia candidate.
Inertia is excellent when you want SPA capabilities but have one frontend, one team, and the rich client side interactivity of React or Vue. It is not the right call when you have multiple frontends consuming the same backend or separate frontend and backend teams. If three or more of these apply, Inertia is likely the right choice.
You want React, Vue, or Svelte interactivity on a Laravel application without the cost of a separate API. Your team is strong in JavaScript frameworks and prefers TypeScript over Blade for the frontend. The application needs complex client side state or component composition that Livewire would not handle well. You have one web frontend (no mobile app or third party integrations consuming the same backend). You want page based routing on the Laravel side without maintaining a separate React Router or Vue Router setup. You need rich form interactivity with client side validation but want server side validation as the source of truth.
React, Vue, or Svelte. All three work in Inertia.
Inertia supports React, Vue, and Svelte equally well. The choice comes down to your team's strength, your hiring market, and ecosystem preferences. We build with all three.
React 19 with Inertia
Best for
- Larger teams with React skills
- Hiring at scale across regions
- Apps needing complex state machines
- Projects using shadcn/ui, Radix, or similar
- Sharing UI patterns with React Native apps
Vue 3 with Inertia
Best for
- Laravel teams already strong in Blade
- Smaller teams shipping fast
- Vue 3 Composition API workflows
- Projects using Vuetify, PrimeVue, or Element
- Single page templating familiarity
Svelte 5 with Inertia
Best for
- Bundle size critical applications
- Performance focused projects
- Smaller teams comfortable with Svelte
- Apps where every kilobyte matters
- Modern reactive primitives valued
How we recommend honestly: for new projects with a Laravel team, Vue 3 is usually the right pick because the learning curve is gentler. For larger teams or projects where hiring at scale matters, React 19 is the safer call. Svelte is excellent for performance focused work but the hiring market is narrower. We will recommend based on your team and roadmap, not on what we prefer building.
Two different mental models. Same Laravel underneath.
Inertia and Livewire are the two leading reactive options for Laravel. Both produce excellent applications. The choice depends on your team's strength and the complexity of client side interactivity you need.
When Inertia is the right call
Best for
- Teams already shipping React or Vue work
- Complex client side state machines
- Rich component libraries (shadcn/ui, Vuetify)
- Apps with heavy frontend interactivity
- TypeScript codebases with shared types
When Livewire is the right call
Best for
- Teams stronger in PHP than JavaScript
- SaaS dashboards, admin panels, customer portals
- CRUD heavy applications
- One mental model preferred across team
- Faster shipping on typical Laravel work
The honest rule: Inertia wins when the frontend complexity justifies a JavaScript framework. Livewire wins when the frontend can be expressed cleanly in PHP and Blade. For most internal SaaS dashboards and admin panels, Livewire ships faster. For complex product applications with rich client interactivity, Inertia is worth the JavaScript investment. Both are excellent.
Everything an Inertia application needs.
Not just pages. The full toolkit that takes an Inertia application from architecture to production with TypeScript, SSR, and proper observability.
Inertia pages & layouts
Page components mapped to Laravel routes, persistent layouts that survive navigation, and shared props for global state like the authenticated user.
TypeScript with shared types
Full TypeScript across the frontend. Shared types between Laravel and the frontend generated through Spatie TypeScript Transformer so response shapes never drift.
Design system with Tailwind
Tailwind CSS based design system with reusable components. shadcn/ui for React, custom design system, or PrimeVue for Vue depending on the project's needs.
Forms with client & server validation
Inertia useForm helper for client side validation and form submission. Laravel form requests handle server side validation. Errors surfaced automatically in the UI.
SSR through Node sidecar
Server side rendering for SEO sensitive public pages. Node.js process runs alongside Laravel through Forge or Vapor, supervised and monitored as part of the deployment.
Vite build & bundle audit
Vite for fast development and optimised production builds. Bundle size audited before launch. Code splitting per page so users only load what they need.
Pest & Vitest test coverage
Pest tests for the Laravel layer covering routes, validation, and controller logic. Vitest plus Testing Library for frontend component tests. CI on every PR.
Monitoring across the stack
Pulse for Laravel performance, Sentry for both frontend and backend errors, structured logging across the SSR Node process, and Core Web Vitals tracked over time.
Named senior engineers on every project.
Our Inertia work is led by team leads who actually ship full stack Laravel and React or Vue work day to day, not generalists treating one half of the stack as a niche.
Mitul Patel
Team Lead, Full Stack Laravel
Six steps from architecture to launch.
Frontend stack chosen in week one. Design system locked before build sprints start. Shared types generated from day one. SSR added only where SEO demands it.
Discovery & Frontend Choice
Map user journeys, page based routing, shared layouts, and pick the right frontend stack (React, Vue, or Svelte) based on team skills. Output is an architecture document and component map signed off before kick off.
Design System & TypeScript
Tailwind CSS design system, TypeScript configuration, shared types between Laravel and frontend through Spatie TypeScript Transformer or similar.
Page & Component Build
Engineers build Inertia pages in two week sprints with Pest tests on the Laravel layer and Vitest tests on the frontend. Larastan plus ESLint plus TypeScript checks on every PR.
Forms & Shared State
Inertia useForm helper for client side validation. Shared props for global state (user, flash messages, feature flags). Laravel form requests handling server side validation.
SSR & Performance Audit
SSR configured through Node.js sidecar where SEO matters. Vite production build optimised. Bundle size audited. Core Web Vitals tracked before launch.
Deploy & Monitor
Deploy through Forge or Vapor with SSR process supervised, Pulse for Laravel performance, Sentry for frontend and backend errors, structured logging across the stack.
The tools we use for production Inertia apps.
Production tested across SaaS dashboards, customer portals, and product applications. Mature, supported, and well documented.
Inertia core
Frontend frameworks
UI & styling
State & forms
Testing & QA
Hosting & monitoring
An Inertia application we shipped.
One detailed snapshot from Inertia work across our 1,300 plus delivered projects. Full case studies sit in our portfolio.
FinTech operations platform migrated from React SPA + Laravel API to Inertia in four months
"We had a Vue 2 SPA plus Laravel API setup that nobody wanted to maintain anymore. Acquaint migrated us to Inertia plus React 19 in four months. Our team cut development time in half because we stopped maintaining two parallel codebases, and the user experience is genuinely better because we never lose form state on navigation."
A FinTech operations platform serving 200 plus internal users had a Vue 2 SPA consuming a Laravel 8 API. The Vue 2 codebase was three years out of date, the Vue 3 migration had been postponed four times, and the team had no Vue specialists left after a hiring round had focused on React. Every feature required changes in two places (Laravel API plus Vue SPA) which doubled the time to ship and created drift between the two layers. Migrating to Vue 3 was rejected. Migrating to a separate React SPA was rejected as more of the same problem. Inertia plus React was chosen as the simpler path.
Four month migration to Laravel 11 with Inertia 2 and React 19. The team mapped Vue 2 components onto React Inertia pages, removed the Vue Router layer entirely, and refactored 60 plus API endpoints back into controller methods returning Inertia responses. TypeScript was added to the frontend with Spatie TypeScript Transformer generating types from PHP DTOs, eliminating an entire class of drift bugs. shadcn/ui replaced a custom component library that had become unmaintained. SSR was added for the public marketing pages only, not for the authenticated operations area. Cutover ran in stages over three weeks, with the Vue SPA retired one week after the final cutover.
Three ways to engage on an Inertia build.
Most clients run Fixed Price for the initial build, then switch to Dedicated Developer for ongoing feature work once the application is in production.
Dedicated Developer
- Full time, exclusive to your product
- 176 hours per month per engineer
- 5 day developer replacement clause
- Direct Slack and email access
Fixed Price Build
- Discovery, design, build, QA, launch
- Project lead, full stack engineers, QA included
- Two week sprint demos throughout
- Post launch handover with docs
Time & Material
- Hourly billing, weekly invoices
- Scale team up or down on demand
- Effective rate from $18 per hour long term
- Full transparency on hours worked
Questions teams ask before picking Inertia.
Cannot find your answer here? Speak directly to one of our senior engineers. No sales pitch.
-
What is Inertia.js?
Inertia.js is a library that lets you build single page applications using classic server side routing and controllers, with React, Vue, or Svelte as the frontend layer. Instead of building a separate API consumed by a separate frontend, your Laravel controllers return Inertia responses that hydrate page components on the client. The result feels like a SPA to the user but is built like a traditional server rendered application. No client side routing, no separate API, no token authentication overhead, no CORS headaches.
-
Inertia vs Livewire, which should I pick?
Pick Inertia when you want React, Vue, or Svelte on the frontend with full client side interactivity, your team is already strong in JavaScript frameworks, or you need rich client side state management. Pick Livewire when your team is stronger in PHP than JavaScript, the application is form heavy and dashboard style, and you want to stay in one mental model. Inertia is more powerful for complex client side interfaces. Livewire ships faster for typical CRUD work. Both are excellent. More on our Livewire development page.
-
Inertia vs separate API and SPA, which is better?
Inertia is better when you have one frontend (web only), one team, and you want development velocity. A separate API and SPA is better when you have multiple frontends (web plus mobile plus partner integrations), separate frontend and backend teams that need independent release cadences, or your backend is consumed by third parties. For most internal SaaS web apps and customer portals, Inertia ships faster and stays simpler to maintain. For public APIs or omnichannel commerce, separate is the right call. More on our API development page.
-
Does Inertia support server side rendering (SSR)?
Yes. Inertia supports SSR through a Node.js process that pre renders pages on the server. SSR improves Core Web Vitals scores (LCP and CLS) and is important for SEO on public facing pages. We configure Inertia SSR through Laravel Forge or Vapor, with the SSR Node process running alongside the Laravel application. SSR adds operational complexity (one more process to monitor) so we recommend it for public facing applications where SEO matters, not for admin panels or authenticated dashboards.
-
Can I use TypeScript with Laravel Inertia?
Yes. TypeScript is fully supported across React, Vue, and Svelte Inertia stacks. We use TypeScript on every new Inertia build by default. Shared types between Laravel and the frontend are typically generated through Spatie's TypeScript Transformer or a similar tool that reads PHP DTOs and exports matching TypeScript interfaces. This eliminates a common source of bugs in JavaScript SPAs where backend response shapes drift from what the frontend expects.
-
Inertia React vs Inertia Vue, which is better?
Both work equally well in Inertia. The choice comes down to your team's strength and hiring market. React has a larger talent pool globally, more job applicants, and a richer ecosystem of UI component libraries. Vue is often faster for teams transitioning from Laravel and Blade because the templating model feels more familiar. We build with both, and we will recommend honestly based on your team and hiring pipeline. Svelte is also supported through Inertia and worth considering for smaller projects where bundle size matters.
-
How much does Inertia development cost?
A focused Inertia application (mid sized SaaS dashboard, customer portal, or internal tool) starts at $12,000 to $30,000 and ships in 8 to 14 weeks. A mid sized Inertia SaaS with multi-tenancy, billing, and a polished design system typically runs $35,000 to $80,000 over 3 to 5 months. Enterprise grade Inertia applications with SSO, audit logs, and compliance work run $80,000 to $200,000. Dedicated Laravel Inertia developers at Acquaint Softtech start at $22 per hour or $3,200 per month full time. A full breakdown sits on our Laravel development cost page.
-
Can you migrate our React or Vue SPA to Laravel Inertia?
Yes. Migrating from a separate React or Vue SPA plus Laravel API to Inertia is a common engagement, especially when the team realises maintaining two separate codebases costs more than the architectural separation is worth. We map existing API endpoints to Inertia responses, port frontend components into Inertia pages, and remove the client side routing layer. Most SPA to Inertia migrations land in 3 to 5 months depending on application complexity. More on our migration services page.
-
Does Inertia work for SEO heavy public sites?
Yes, with SSR enabled. Inertia SSR through a Node.js process pre renders pages on the server so search engines see fully rendered HTML, not an empty shell waiting for JavaScript. Core Web Vitals scores (LCP, CLS, INP) are excellent with SSR enabled because the initial paint is the server rendered HTML. We add SSR for public marketing pages and SEO sensitive routes, not for authenticated admin or dashboard areas where SEO does not matter and SSR adds operational complexity.
-
Will we own the Inertia codebase and IP?
Yes, completely. Source code ownership and IP transfer terms are agreed in writing before kick off, the NDA is signed before any project discussions, and the repository is yours from commit one. There are no surprise licence fees later, no usage limits, and no white labelled dependencies that lock you in. Inertia, React, Vue, Svelte, and Tailwind are all MIT licensed.
What teams usually pair with Filament.
Filament is one part of the Laravel admin ecosystem. Most clients combine the core Filament build with one or more of these.
Core Laravel Development
09Lifecycle of Laravel
07Laravel Comparisons
05Hiring
04Laravel Solutions
04Decision / Cost
03Laravel Ecosystem & Tooling
03India (Head Office)
203/204, Shapath-II, Near Silver Leaf Hotel, Opp. Rajpath Club, SG Highway, Ahmedabad-380054, Gujarat
USA
7838 Camino Cielo St, Highland, CA 92346
UK
The Powerhouse, 21 Woodthorpe Road, Ashford, England, TW15 2RP
New Zealand
42 Exler Place, Avondale, Auckland 0600, New Zealand
Canada
141 Skyview Bay NE , Calgary, Alberta, T3N 2K6
Your Project. Our Expertise. Let’s Connect.
Get in touch with our team to discuss your goals and start your journey with vetted developers in 48 hours.