Service · Web development

Custom Laravel website and web application development.

Custom PHP platforms on Laravel 11 for admin portals, B2B applications, SaaS start-ups and client dashboards. Quickly to production via Livewire, Filament and Octane — with a codebase your own team can take over without vendor lock-in.

Laravel 11Livewire & InertiaFilamentOctane & Forge

What Laravel is, and why it remains a sensible default in 2026.

Laravel is the leading PHP framework for modern web applications. It is a mature platform that sits somewhere between a "framework" and an "application platform": for much of what you encounter in a typical web application (authentication, authorisation, database access, queues, mail, file storage, scheduling, payments), there is a well-designed, tested and conventional solution that works straight away. You write less glue code and can focus on the part that sets your product apart.

Since Laravel 11, the baseline has been modernised again: a slimmed-down application skeleton, first-class Vite integration, Pest as the default testing tool, and Laravel Reverb as an in-house WebSocket server. Eloquent, the actively maintained ORM, treats database records as objects you can query naturally, with relationships, casts, scopes and eager loading in a few lines. For the frontend layer, you have a choice: Livewire 3 if you prefer to keep your screens entirely in PHP, with server-side rendering plus live interaction, or Inertia 2 if you want React or Vue as your view layer without the overhead of a separate SPA build with an API in between.

We build Laravel platforms for founders with a SaaS MVP, for SMEs who want to replace their Excel or Access processes with a proper portal, and for enterprises who want to modernise a legacy PHP application without a full rewrite to an entirely different stack. The broader service context is on our overarching web development page. For capacity questions, you can turn to hire a full-stack developer.

When Laravel is the right answer.

Here are six patterns we come across regularly. If you recognise one of them, Laravel is almost always a pragmatic default, and we can quickly talk through scope.

Admin portals

You want an internal portal for your team or suppliers

For admin dashboards, supplier portals, customer control panels or internal management, Laravel with Filament is an exceptionally fast foundation. Filament generates CRUD screens, forms, tables, filters and role-based access directly from your Eloquent models, so the heavy lifting lives in business logic rather than glue code. The portal feels professional from day one and can later be extended with custom panels and widgets.

B2B platforms

You are building a platform with multiple user roles

For B2B platforms with multi-tenancy, role-based access control and business logic that varies by client, Laravel is well positioned. Spatie Permissions provides mature role and permission management, Sanctum or Passport handles API tokens, and the queue layer processes heavy background jobs without making the user wait. For a React frontend on top, single-page application is the logical extension via Inertia 2.

SaaS start-ups

You want to move quickly from MVP to product-market fit

For SaaS start-ups that need to iterate fast, Laravel is one of the shortest routes to production. Cashier supports Stripe and Paddle billing with subscriptions, trials, prorations and webhooks; Jetstream or Breeze provide registration, login, two-factor authentication and team management out of the box. You build product functionality, not plumbing, and the codebase stays understandable for an in-house team.

Light CMS and marketing sites

You want a website with strong bespoke functionality

For websites that are more than a few pages, such as a customer portal connected to your marketing site, configurators, calculation tools, dynamic landing pages or a custom e-commerce flow, Laravel with Statamic or a custom content layer built on Filament is far more flexible than WordPress as an archipelago of plugins. You retain ownership of the codebase and write every business rule in modern PHP.

API backends

You are building a mobile app or frontend that needs an API

Laravel is a strong choice as a pure API backend for a React, Vue or mobile application: API resources for JSON transformation, Sanctum for token authentication, Octane for low latency, and solid testing tooling to keep your endpoints contract-stable. Pairing it with an Inertia 2 frontend almost always gets you to production faster than a separate React SPA with a standalone REST backend.

Marketplaces & community

You want a platform where parties meet each other

For marketplaces, job boards, comparison sites or community portals where multiple parties post content and transact, Laravel is a productive choice. Multi-tenant data isolation, payment flows with escrow, search via Scout on Algolia or Meilisearch, and moderation tooling via Filament: each of these components has a conventional solution, so you don't have to build them from scratch.

When Laravel is not the right choice.

Honesty saves you an expensive change of direction halfway through. These are the three scenarios in which we refer you to a different framework or platform.

Not 01

Heavy real-time or WebRTC apps

For applications with large-scale bidirectional communication, such as video conferencing, live game states, collaborative editing in the style of Figma, or signalling servers for WebRTC, Node.js with Socket.IO or a Go or Elixir (Phoenix) backend is a more natural choice. Laravel Reverb covers many real-time use cases, but for deep event loops with thousands of concurrent connections per server, an event-driven runtime is fundamentally better positioned.

Not 02

CPU-intensive computation or data engineering

For heavy computer vision pipelines, machine learning training, numerical simulations or ETL on large datasets, PHP, and therefore Laravel, is not the right runtime. Python with NumPy, pandas and PyTorch, or Rust for maximum performance, are the logical answers there. We often work in a hybrid setup: Laravel as the application layer, with a Python or Rust service alongside it for the heavy compute.

Not 03

Gaming and graphically intensive front ends

For browser gaming, 3D render pipelines, WebGL or WebGPU applications, or native mobile gaming, Laravel is a back-end layer, never the runtime of the game itself. For the game client, Unity, Unreal or platform-native rendering with Metal and Vulkan are the right choices. In that scenario, Laravel can handle player accounts and the matchmaking API perfectly well.

Laravel, Symfony, Node or Django: a sober comparison.

The four alternatives that regularly come up in our intake conversations. In the first conversations we help you choose which one fits, based on your stack, team composition and product ambitions.

Criterion
Laravel
Symfony
Node / Express / NestJS
Language
PHP 8.3+
PHP 8.3+
TypeScript / JavaScript
Best for
SaaS, portals, B2B platforms, MVPs
Enterprise, complex domain models
Real-time, event-driven, high concurrency
Dutch talent pool
Large: PHP and Laravel specialists
Medium-sized, often senior-only
Large, shared with frontend developers
Time to MVP
Short: a lot works out of the box
Longer: more configuration, more abstraction
Varies, depending on your choices
ORM
Eloquent (Active Record)
Doctrine (Data Mapper)
Prisma, TypeORM, Drizzle
Admin tooling
Filament: mature and fast
EasyAdmin, Sonata: capable
AdminJS, Refine: younger ecosystem
Real-time
Reverb / Pusher / Soketi
Mercure, Symfony Messenger
Native via Socket.IO, ws
Convention vs. configuration
Strongly convention-driven
Configuration-driven, flexible
No framework imposed: you choose every layer

The modern Laravel stack in 2026.

Our default configuration for production applications. Depending on your scope we swap out components, but these are the building blocks we start with by default.

Core & runtime

Laravel 11+, PHP 8.3+, Eloquent

We start on the most recent Laravel version with PHP 8.3 or newer. Eloquent as the ORM, with explicit relationships, casts to value objects where that makes sense, and disciplined eager loading to prevent N+1 problems. PHPStan at level 7+ for static type checks in CI.

Frontend layer

Livewire 3, Inertia 2, Vite, Tailwind

For most projects, we use Livewire 3 with Volt and Alpine.js: server-rendered PHP components with live interactivity, without a separate SPA build. Where React or Vue is required as the view layer, we use Inertia 2 as the adapter, so we keep Laravel routing and controllers and don't have to maintain a separate API. Vite for assets, Tailwind v4 for styling.

Admin & CMS

Filament 3, Statamic, Nova

Filament 3 is our default for admin panels: mature, quick to configure and extensible with custom pages, widgets and form fields. Statamic is a CMS built on Laravel for content-driven marketing sites. Laravel Nova is a licensed alternative for clients who prefer the official Laravel tooling.

Performance & queues

Octane (FrankenPHP), Horizon, Pulse

For high-traffic applications, Laravel Octane runs on FrankenPHP, Swoole or RoadRunner, so the application stays warm between requests instead of rebooting on every call. Horizon manages queues on Redis, and Pulse gives you real-time insight into slow queries, slow routes, exceptions and cache hits.

Packages & integrations

Spatie, Cashier, Scout, Sanctum

The Spatie packages for permissions, query builder, media library, activity log and backups are part of our defaults. Laravel Cashier handles Stripe or Paddle billing, including webhooks. Scout provides full-text search via Algolia, Meilisearch or Typesense. Sanctum handles lightweight API token authentication, and Passport provides full OAuth2 when third parties need to integrate. Socialite handles SSO via Microsoft, Google or your own OIDC provider.

Quality & testing

Pest, PHPStan, Laravel Dusk

We use Pest as our testing framework for its readable syntax and native parallel execution. Architecture tests via Pest's arch plugin guard dependency boundaries, for example ensuring models make no HTTP calls or controllers don't write directly to the database. Dusk handles browser end-to-end tests, and Larastan handles static type checks. CI runs on GitHub Actions with matrix builds across multiple PHP versions.

Hosting & deploy

Forge, Vapor, Laravel Cloud, Kubernetes

For server-based hosting, we use Laravel Forge on DigitalOcean, Hetzner or AWS, offering simple provisioning, zero-downtime deploys via Envoyer and automatic SSL. For serverless hosting, we use Laravel Vapor (AWS Lambda) or Laravel Cloud. For enterprise environments with strict isolation requirements or existing Kubernetes infrastructure, we deploy Octane containers via Helm charts on your own cluster.

Monitoring & observability

Sentry, Pulse, Telescope, Cronitor

Sentry for error tracking and performance tracing, configured with source maps and breadcrumbs. Laravel Pulse for real-time stack stats (slow queries, slow jobs, exception counts, cache hit rates) in the Laravel dashboard. Telescope only in staging and local environments. Cronitor or Healthchecks.io for scheduled job monitoring, so a stalled queue or silenced cron doesn't go unnoticed.

Three flavours of Laravel projects.

Depending on where you stand and what it will deliver. We'll advise which flavour suits you in the first conversation: no fixed format, but clear outlines.

MVP · fixed sprint budget

SaaS MVP on a Laravel foundation

A first working version of your SaaS product on a production-grade foundation. Registration, login, two-factor authentication, team management, Stripe billing, a working admin panel via Filament and an initial set of features. Not a throwaway MVP, but a codebase that grows with you, so you can build on it after validation instead of rebuilding.

Breeze / JetstreamCashierFilamentForge
Production platform · fixed sprint budget

B2B platform or customer portal

A Laravel application that supports an existing product or business. Deep integrations with your ERP or CRM, identity provider (Azure AD, Okta, or your own IdP), payment flows and analytics. We build on the production stack above from day one and deliver with monitoring, alerting and a release pipeline your own team can run. SSO, role-based access and multi-tenancy where needed.

SSO / OIDCSpatie PermissionsOctaneSentry
Migration · pragmatic approach

Migrating legacy PHP, WordPress or Symfony

You have an existing PHP platform — an ageing bespoke application, a WordPress site that has grown out of hand, or an early Symfony project — and you want to move to a modernised Laravel stack. We take a pragmatic approach: keep what works, replace what causes pain, and grow towards the new stack module by module rather than through a big-bang rewrite. Production stability is maintained throughout the entire process.

Strangler figSchema migrationCo-existenceCo-ownership
Not yet sure about a large project?

Test your idea first: a working prototype in 1 day

With OneDayBuild, we turn your idea into something tangible in one day for €1,150, so you can see whether further development is worth the investment. Decide to go ahead with the full build? Then we credit the full cost.

Explore OneDayBuild →

What you get at the end.

A production-ready Laravel project, plus everything around it needed to run and continue developing the application yourself. Nothing in our deliverables depends on you staying with Appfront, as vendor lock-in is not the intention.

  • The Laravel application in productionA running application on your own hosting (Forge, Vapor, Cloud or Kubernetes), with TLS, a production database and a staging environment that mirrors production.
  • Codebase with PHPStan and test suiteFull source on your Git repository, with PHPStan in CI, a Pest test suite covering critical flows, and GitHub Actions or GitLab CI as the orchestration layer.
  • Documentation and architecture recordsBuild and deployment runbook, an overview of environment variables, ADRs for key architectural decisions, and an overview of third-party services.
  • Monitoring from day oneSentry for errors and performance traces, Pulse for real-time stack statistics, and health checks for the scheduler and queues. Set up for go-live, not added afterwards.
  • Handover to your teamKnowledge transfer sessions, a video walkthrough of the codebase, and pair programming with your developers who take part in maintenance or further development.
  • Maintenance contract (optional)Ongoing monitoring, dependency updates, security patches and further development. You can take over at any time — no exit fee, no exclusivity clause.

How a Laravel project works.

1

Introduction and scoping

A conversation in which we understand what you want to build, for whom, and which stack and organisation it fits. We test whether Laravel is the right answer — and say so honestly when Node, Symfony or a Python layer is a better fit.

2

Planning, architecture and stack choices

We draw up a sprint plan, sketch the architecture and select the stack components (Livewire or Inertia, Filament or Nova, Forge or Vapor). For production platforms, a spike on the most demanding integration or the most critical performance path runs in parallel, so that assumptions are validated up front rather than during the build.

3

Building in sprints with staging deploys

Each sprint produces a working build on staging for your team and stakeholders. Feedback is incorporated in the next sprint or through a hotfix deploy. Code reviews, automated tests via Pest and PHPStan, and performance checks form part of the cycle, rather than being done once at the end.

4

Go-live with monitoring in place

Production deployment via Envoyer or the hosting pipeline of your choice, with blue-green or canary rollout where the scope justifies it. Monitoring is tightly watched during the first days, with focused attention on slow queries, queue lag and exception spikes. For B2B platforms we often use a phased rollout — internal users first, then a pilot, then wide availability.

5

Operations and ongoing development

After go-live, the team keeps monitoring sharp, processes feedback and ensures dependencies, PHP versions and the Laravel LTS cycle are kept up to date. Further development runs in new sprints, with clear prioritisation based on data and user feedback.

Who we build Laravel platforms for.

Four target groups for whom Laravel — and the way we work with it — delivers proven value.

Founders & SaaS

Getting to product-market fit quickly

You're building a SaaS product and want to start from scratch without boilerplate. With Laravel, the foundations (auth, billing, admin, queues, mail) are quick to put in place on a production-grade base, so you can go live after every sprint instead of only at the end.

SMEs with legacy platforms

Replacements for Excel or Access and portals

You're still running on an Excel chain, an Access database or an outdated custom PHP application. For replacing these, Laravel with Filament is exceptionally productive, and the wider web development journey often revolves around such a core portal. We advise on the data migration and keep your operations running throughout the project.

B2B and marketplaces

Platforms with multiple roles and parties

For B2B platforms with multi-tenancy, marketplaces or comparison sites, Laravel is a productive choice. It combines well with SSO, identity providers and existing back-office systems. For capacity questions, we look at full-stack developer hire.

Enterprise and modernisation

Migrating legacy PHP platforms

You already have a production PHP application on an older framework and want to move to Laravel without a big-bang release. We work module by module using the strangler fig pattern, preserve production stability and gradually move features from the old codebase to the new stack, at a pace your organisation can handle.

Fabian van Dijk Business Developer · Appfront

Your first point of contact for Laravel projects at Appfront. Reach them at fabian.vandijk@appfront.nl for a no-obligation introduction on when Laravel fits your stack and organisation, and when Symfony, Node or a Python layer is the honest answer.

Frequently asked questions about Laravel.

What clients usually want to know before we start.

Laravel or Symfony: which should we choose?
Both are mature PHP frameworks positioned differently on the convention-versus-configuration spectrum. Laravel is strongly convention-driven: you get a lot out of the box and are up and running quickly. Symfony is configuration-driven and more loosely coupled, which offers more flexibility but requires more explicit choices. For SaaS, portals, MVPs and B2B platforms, we almost always choose Laravel. For enterprise environments with complex domain models, Symfony, often combined with Doctrine and DDD patterns, may be the right choice.
Laravel or Node.js: what's the difference in practice?
PHP and Node run fundamentally differently: PHP is shared-nothing per request, while Node has a persistent-state event loop. For traditional web applications such as CRUD, dashboards and B2B portals, the difference is small in practice, especially with Laravel Octane. For real-time, high-concurrency or long-running connections, Node is fundamentally better positioned. We often work in a hybrid way: Laravel for business logic and UI, with a Node service alongside it for the real-time components.
How does Laravel perform under heavy load?
Laravel on Octane (FrankenPHP, Swoole or RoadRunner) stays warm between requests, which significantly reduces latency compared with the classic PHP-FPM cycle. We solve N+1 problems with explicit eager loading, catch slow queries early via Pulse, and cache where it makes sense via Redis. For extreme scale: scale horizontally via Vapor or Kubernetes clusters of Octane containers, with a read replica for analytics.
What's the difference between Livewire and Inertia?
Livewire keeps the view layer entirely in PHP: Blade templates with server-rendered components that receive live updates and form bindings through a thin JavaScript layer (Alpine.js). No separate API, no SPA build, no frontend router. Inertia uses React, Vue or Svelte as the view layer but keeps server-side routing and controllers. You pass props instead of JSON, but it otherwise feels like an SPA. Our default is Livewire for portals and admin flows, and Inertia for projects where the frontend team works in React or the design calls for interactive components that are more natural to write in JavaScript.
Using Filament or building your own admin?
In almost all cases, Filament. Filament 3 delivers mature CRUD screens, forms, tables, filters and role-based access straight from your Eloquent models, with extension points where the default pattern no longer fits (custom pages, widgets, form components). You don't build an admin from scratch; you tailor an existing admin pattern. Building a bespoke admin only makes sense when the admin is a core feature of your product and departs significantly from the CRUD model, such as a trading cockpit or a visual workflow builder.
What about Laravel hosting within the EU?
Laravel Forge on top of an EU VPS (Hetzner Falkenstein, DigitalOcean Amsterdam, Scaleway Paris) is our most commonly used route: inexpensive, fast, and EU data residency is taken care of. Laravel Vapor runs on AWS Frankfurt or Ireland; Laravel Cloud is a newer managed service that we weigh up case by case. For healthcare or finance clients with strict isolation requirements, we deploy to a dedicated Kubernetes cluster with an ISO 27001 or HDS-certified provider.
How do you handle security in a Laravel project?
Laravel has many security measures built in: CSRF protection by default, prepared statements against SQL injection, Blade escaping against XSS, and strong encryption helpers for data at rest. On top of that, we run OWASP checks in CI, use Spatie ActivityLog for audit logging in sensitive contexts, deliver two-factor authentication out of the box via Fortify or Jetstream, and apply security headers through a middleware layer (CSP, HSTS, frame options, referrer policy).
Can we migrate our WordPress or legacy PHP website to Laravel?
Yes, and in almost all cases we use the strangler fig approach: we set up Laravel alongside the existing application, gradually route parts of the URL structure to the new stack, and deprecate the old codebase module by module. For WordPress, marketing content often moves to Statamic or another lightweight CMS, while the portal or web application side is built in Laravel with Filament. No big bang; production stability is maintained throughout the project.
Does Laravel work alongside our Python data pipeline?
Good. We often see this pattern: Laravel as the application layer for authentication, authorisation and UI, with a separate Python service for the heavy compute, such as machine learning inference, data engineering and scientific computing. The two communicate via an internal REST or gRPC API, a shared queue (Redis or SQS) or a shared object store.
What about TypeScript and React in a Laravel project?
With Inertia 2, you connect React directly to Laravel controllers. You pass props instead of JSON and keep server-side routing and auth. TypeScript for the frontend is standard, with types generated from Laravel Form Requests. For projects that want a fully decoupled single-page application, we can swap Inertia for a separate React SPA with Laravel as a JSON API, but in most cases Inertia is the more productive choice.
Do you work together with our in-house developers?
Almost always. We do knowledge transfer throughout the project, schedule pair-programming sessions with your developers, and make sure the codebase is understandable for whoever works on it after us. For longer-term support, we can look at hiring a full-stack developer. The ultimate goal is always for your team to be able to manage and further develop the application themselves.
What if we want to move away from Laravel later?
Laravel is open-source PHP: no licence fees, and no vendor lock-in on the framework itself. Your codebase lives in your own Git repository, your database is a standard PostgreSQL or MySQL cluster, and deployment runs on standard infrastructure. Where the complexity justifies it, we keep domain logic explicitly separated from the framework-dependent layer, so a future migration to a different framework or language remains possible.

Talk to us about your Laravel platform.

A free, no-obligation half-hour introduction. We listen to what you want to build, look at how it fits your existing stack and organisation, and give you honest advice — Laravel, Symfony, Node or a hybrid setup — rather than automatically selling our own work.

Edit content