Mobile backends

A Laravel backend for your Flutter app, built for app store reality

We build the server side that a mobile app leans on: sign-in, data, files, notifications and an admin panel, designed so releases on either side do not break the other.

  • 100+ mobile apps developed
  • Flutter and Laravel in one team
  • Old app versions keep working
What is included
  • Token authentication
  • Push notifications
  • File uploads
  • Offline sync
  • Versioned API
  • Admin panel
Get a free quote Reply within one business day. NDA on request.
The problem

Where app backends let the app down

A Flutter app is only as good as the server behind it. The screens can be beautiful, and users will still leave if sign-in fails on a weak connection, photos take a minute to upload or a notification arrives three hours late. Mobile also brings a constraint web developers rarely face: you cannot make users update. A build you shipped a year ago is still on someone's phone, still calling your API.

We build Laravel backends for Flutter apps, sometimes for our own mobile team and often for an app developer or agency that needs the server side done properly. Laravel suits the role because one codebase gives you the API, the admin panel your staff use, the queue workers that send notifications and the scheduled jobs that keep data tidy.

  • A backend change broke the live app

    A field was renamed on the server and the released app started crashing. The fix is waiting in store review while one-star ratings arrive.

  • Notifications are unreliable

    Some users get every push twice, others none. Device tokens are stale, nothing records delivery, and there is no way to target a segment or schedule a campaign.

  • The app is useless without signal

    Field staff, travelers and commuters lose their work when the connection drops. Whatever they entered is gone, or is saved twice when signal returns.

  • The hosted backend hit its limits

    The prototype ran on a backend-as-a-service. Now you need complex queries, custom business rules, an admin panel and reports, and the platform makes each one awkward.

What we do

What the Flutter app gets from Laravel

The backend covers everything the app cannot do alone, plus the web admin your team needs to run the service.

Token authentication

Sanctum tokens issued per device and kept in the phone's secure storage, with social and OTP sign-in, token revocation and a device list the user can manage.

Push notifications

Firebase Cloud Messaging for Android and iOS, device token registration and cleanup, topics and segments, scheduled sends and delivery logging, all dispatched through queues.

File uploads

Photos, video and documents uploaded directly to object storage through pre-signed URLs, with background resizing and resumable transfers for large files.

Offline sync

Delta endpoints that return what changed since the last sync, client-generated IDs, idempotent writes and a clear rule for resolving conflicts.

Versioned API

Endpoints versioned so every released build keeps working, a minimum-version check that can prompt or require an update, and usage statistics per app build.

Admin panel

A web back office for users, content, orders and notifications, plus remote settings and feature switches that change app behavior without a store release.

Typical projects

App backends we deliver

01

Backend for a new Flutter app

API, authentication, notifications and admin panel built in parallel with the app, with a staging environment and seeded test accounts for the mobile developers.

02

Replacing a hosted backend

Data, users and files moved from a backend-as-a-service to Laravel, with the app switched over through a versioned release and both backends running during the transition.

03

Field service or delivery app

Jobs assigned from a web dispatcher, completed offline on the device with photos and signatures, and synchronized when the connection returns.

04

Mobile companion to an existing web product

An API layer added to your current Laravel application so a Flutter app shares the same accounts, data and business rules as the website.

In depth

Designing a server for mobile clients

Every released build is a client you still support

On the web you deploy and everyone has the new version. On mobile, releases pass through store review and then reach users gradually, and some never update. So the API is versioned from the first endpoint, and we follow one rule: additive changes only within a version. New fields and endpoints are fine. Removing, renaming or changing the meaning of a field needs a new version. The app sends its build number and platform with each request. The server logs it, and can reply with a soft update prompt or a hard block when a version is retired. That turns a risky cleanup into a planned one.

Change behavior without a store release

Anything likely to change should be data from the server and not code in the app: feature switches, onboarding copy, the order of home screen sections, validation limits, maintenance messages. We expose a small configuration endpoint the app reads at launch and caches. Your team edits it from the admin panel. Store reviewers also need a way in, so we keep a demo account with realistic data and make account deletion available inside the app, which both major stores expect of apps that offer sign-up.

Authentication on a device

The app receives a Sanctum token at sign-in and keeps it in the platform's secure storage. Each device has its own token, named after the device, so a user can sign out a lost phone from another one. Sign in with Apple and Google is handled by verifying the provider's identity token on the server. OTP by SMS is rate limited tightly, because it is the endpoint attackers hit first.

Push that can be trusted

The backend stores one or more device tokens per user and sends through Firebase Cloud Messaging from queued jobs. Tokens that the provider reports as invalid are removed at once. Each send is logged, which makes "I never got it" a question we can answer. Notifications carry a deep link and an ID, and the app fetches the fresh record on open instead of trusting the payload.

Offline first means sync by design

For apps used without signal, the phone keeps a local database and a queue of pending changes. The server provides sync endpoints that return records changed since a cursor, including deletions. Writes carry a client-generated UUID so a retried request is recognized and not applied twice. Conflicts need a rule you can explain to users. Last write wins is fine for a profile. For a job report or an inventory count we merge by field or flag the record for review. Large uploads go straight to storage with pre-signed URLs and resume after interruption.

Process

Building app and backend in step

  1. 1

    Shared contract

    With the app developers we define screens, endpoints, payloads and error formats in an OpenAPI document before either side writes feature code.

  2. 2

    Auth, config and staging

    Sign-in, device registration, the remote configuration endpoint and a staging server with test accounts come first, so the app team is never blocked.

  3. 3

    Features in step with the app

    Endpoints are delivered in the order the mobile sprints need them, each with feature tests and updated documentation.

  4. 4

    Device testing

    We test on real phones with poor networks, expired tokens, background uploads and notification taps from a closed app.

  5. 5

    Store submission support

    Demo account, privacy details and account deletion are prepared for review, and the production backend is monitored through the rollout.

Deliverables

What ships with the backend

  • An API that keeps every released build working
  • Remote settings editable from the admin panel
  • Logged, queue-driven push notifications
  • Sync endpoints designed for weak connections
  • A web admin for your operations team
FAQ

Flutter and Laravel questions from app owners

Why Laravel instead of Firebase for a Flutter app?
Firebase is quick for prototypes and simple apps, and we still use its messaging service. Laravel fits better when you need relational data, complex business rules, an admin panel, reports and full control of hosting. Many apps start hosted and move once those needs appear.
Can you build the Flutter app as well as the backend?
Yes. Our mobile team builds Flutter apps, and having both sides in house means one project manager and one contract. If you already have app developers, we work to an agreed API contract with them, or you can hire a Flutter developer from us to join your team.
How do you stop backend updates from breaking the app?
By versioning the API, making only additive changes within a version and running contract tests that fail when a response changes shape. Old builds keep calling the version they were written for until usage drops and it can be retired with notice.
Will the app work offline?
It can, if that is designed in from the start. The app keeps a local database and queues changes, and the backend provides sync endpoints with conflict rules. Retrofitting offline support later is much harder, so tell us early if users will be without signal.
How are push notifications sent?
From Laravel queues through Firebase Cloud Messaging, which delivers to both Android and iOS. Your team can send to one user, a segment or everyone from the admin panel, schedule sends and see a delivery log. Transactional pushes are triggered by events in the application.
Can we change app content without resubmitting to the stores?
Yes, for anything driven by server data: text, images, feature switches, pricing, layout order and forced-update rules. Changes to compiled app code still need a store release. We plan which parts should be remote during design.
We have an existing Laravel site. Can the app use the same accounts?
Yes. We add token authentication and API endpoints beside your web routes, reusing the same users table, models and policies. Customers sign in to the app with their existing credentials. See Laravel API development for the API side in depth.
Start a project

Need a backend your Flutter app can rely on?

Tell us what the app does and where it stands today. We reply within one business day with a suggested API outline and a free quote.

  • Free consultation and quote
  • NDA on request
  • You own the source code
  • Reply within one business day
Add budget and timeline optional, helps us quote faster

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.