Laravel × Mobile

You already know how to build a mobile app.

You just haven't shipped one yet.

Until today.

Wait, really?

PHP. Running on your iPhone.

NativePHP bundles your entire Laravel app — PHP runtime and all — directly into a native iOS or Android shell.

No web server. No browser wrapper. No React Native. No Kotlin. Just your app, running natively on the device.

If you can write a Laravel app, you can ship a mobile app.

Zero context switching

Eloquent. Blade. Artisan. Queues.

Bring your own stack.

Everything you love about Laravel, now on mobile.

It's just Laravel

Routes, middleware, migrations, validation, events — the whole toolkit works because it IS Laravel.

SQLite built in

Migrations run on boot. The app works offline out of the box. No setup, no config.

Any frontend you like

Blade, Livewire, Inertia with React or Vue — bring whatever you already use.

The workflow

From code to device in seconds.

Three commands.

Everything you need to build, preview, and ship.

native:jump

Preview instantly on your phone — no simulator, no platform setup. Great for a first look.

native:watch

Edit your Blade templates or PHP and see changes live on the device. Just like vite dev, but native.

native:run & native:package

Build and run your app on iOS or Android, or produce a signed release build ready for the App Store.

From PHP

Camera. GPS. Biometrics. All from a facade.

Deep OS Integration.

Access native device capabilities without writing a single line of Swift or Kotlin.

Camera & video QR & barcode scanning Biometrics Secure storage Geolocation Microphone Push notifications Share sheets Network status File operations OAuth via browser Device info

Under the hood

Four layers. One composer require.

How it works.

Demystifying the magic behind the native shell.

01 Your Laravel app

Nothing special — any Laravel project with the nativephp/mobile package.

02 The NativePHP package

CLI tooling, PHP facades for native APIs, and native project scaffolding.

03 Embedded PHP 8.4

A custom PHP build compiled for mobile targets — ships inside your app bundle.

04 Native shell

Swift on iOS, Kotlin on Android. Boots your app, bridges native APIs, and handles the App Store packaging.

Best fit

Ship in a sprint, not a quarter.

Perfect for...

Where NativePHP shines the brightest.

Field tools

Inspections, inventory, approvals, forms — offline-first with camera and scanner built in.

Internal apps

We already know Laravel. No mobile team required. No separate codebase to maintain.

Companion apps

A native mobile face for an existing Laravel backend — sharing models, auth, and business logic.

Rapid prototypes

Prove the concept with real native hardware before committing to a full mobile rewrite.

v3 — right now

The best time to start is today.

Plugin architecture

Native capabilities are plugins — first-party and third-party. Extend without forking.

EDGE native UI

Define real native navigation — top bars, bottom tabs, side drawers — right from Blade.

Simpler distribution

No private Composer repo. No legacy setup steps. Much cleaner path from code to store.

The Ecosystem

Where did this come from?

NativePHP started as a way to build desktop apps with Laravel, and has now evolved to bring that same magic to mobile.

Who built this?

Two guys in the community doing some seriously heavy lifting.

Check it out at nativephp.com →

Simon Hamp

The original creator of NativePHP. He started this whole thing on desktop and is currently leading the charge on the iOS side.

Shane Rosenthal

Teamed up with Simon to make sure the other half of the world isn't left out. He's driving the Android implementation.

It's that easy

Get started in minutes.

A few simple steps and you have a native Laravel app running.

  1. Install the NativePHP package via Composer.
  2. Run the install command to scaffold the native project.
  3. Run php artisan native:jump to preview on your device.

So I tried it

I set out to build a demo for you guys.

Plot Twist

I got a little distracted.

Building games is way too much fun. I took it a bit too far.

The Original Plan

I was going to wrap this up in NativePHP and drop it on TestFlight and Google Play Console to show you the native build.

The Open Web

Thankfully, the web is open. The game is just JavaScript anyway, so we can skip the app stores entirely and just play it right now.

The Secret Sauce

I've never built a game before.

But AI made it incredibly easy to learn the tech stack, piece the logic together, and generate the assets.

The Toolkit

How I pieced it together.

Using AI to fill in the gaps for things I didn't know how to do.

Claude Code

Helped me understand the core game loop, debug logic, and learn the mechanics of JavaScript game development.

Visual Assets

Generated all the sprites and graphics based on descriptions of the WAC brand, saving me from having to draw.

ElevenLabs + MCP

Generated sound effects and music directly in the editor. Wait until you hear the "Energetic" music track — the AI-generated lyrics are hilarious.

Live Demo

Let's go fishing.

Running on my machine, piped through a Cloudflare tunnel.

wac-sockeye-catch.exposed.dev