CAMID – Custom Laravel Development for an Offline-First Field App

A custom Laravel engagement for CAMID/ZagZag: inherited codebase, offline-first sync architecture, and a migration to Azure cloud storage.

Discuss a Similar Project

CAMID

CAMID (ZagZag/xmove) is an offline-first Progressive Web App for field workers, handling projects, activities, time tracking, addresses, articles and notifications for teams working on-site — often in locations with poor or no connectivity. As a Laravel development agency based in South Tyrol, we took over a multi-year codebase from the previous agency.

Challenge

  • Continuity of a business-critical Laravel backend

With no Laravel developer left on the previous team, CAMID needed a partner who could quickly take ownership of an unfamiliar, multi-year codebase and keep the platform moving forward without disruption.

  • Rock-solid offline reliability + a storage migration to Azure

Field workers must be able to work fully offline and sync reliably once back online. In parallel, file and data storage needed to move to Azure (the CAMID Cloud service).

What we built

True offline-first architecture — a clean one-directional sync pipeline (API → sync → IndexedDB → reactive UI), so the app is fully usable without a network.

Offline editing for time tracking via a write-ahead buffer that queues changes offline and reliably replays and reconciles them on reconnect — the hardest offline problem, solved for the entity that matters most in the field.

Client-side full-text search and sorting directly over IndexedDB, so search works with zero connectivity.

Resilient authentication that transparently refreshes sessions and replays interrupted requests.

Azure storage migration — moving file storage to CAMID Cloud with per-function security keys, per-file isolation, and robust metadata handling.

Technology

Area Technology
Frontend React 18, TypeScript, Vite, Tailwind CSS v4, PWA
Local data layer IndexedDB (Dexie), reactive live-query hooks
Backend Headless Laravel API, PHP 8.4, Laravel Passport (OAuth2)
Database & storage PostgreSQL 17, S3/MinIO, Azure (CAMID Cloud)
Architecture Domain-driven design — action classes, presenters, typed DTOs
Monitoring & testing Sentry, Laravel Pulse, Pest/Vitest, CI with linting & static analysis
Languages 5-language UI: DE, IT, EN, PL, SL

Your existing Laravel application needs a partner who can take it forward.

What makes this project noteworthy

  • A genuinely hard problem solved well — offline-first with reliable write-and-replay sync, not just read-only caching.
  • A headless system with a domain-driven structure — a deliberate step beyond our usual standard-Laravel approach. It shows we can adapt to and strengthen an existing architecture rather than impose our own.
  • A codebase takeover built on reputation — CAMID came to us on the previous agency's recommendation alone, and we followed it with a full Azure storage migration.

Frequently asked questions

How does Smart Dato take over an existing Laravel application from another agency?

We start by reviewing the codebase, architecture and open issues before making changes. With CAMID, the priority was continuity of a live, business-critical system — moving it forward without disruption.

What does "offline-first" actually mean?

The app works fully without an internet connection, including time tracking and search. Changes are stored locally and reliably reconciled with the server once the connection returns.

Why migrate to Azure?

CAMID needed a scalable, secure cloud storage solution for files. We implemented the migration with per-function access keys and per-file isolation.

Does Smart Dato work with systems built by other agencies?

Yes, this is one of our core strengths in Laravel development. CAMID came to us on a recommendation from the previous agency, specifically for our Laravel experience.

How long did the CAMID engagement take?

About two months, at a steady pace of 20–25 hours per month (roughly 40–50 hours total) — a deliberately lean, focused engagement covering the codebase takeover, offline improvements, and the Azure migration.

A project like CAMID? Let's talk.