DevOrbital

Product Development

Multi-Role Mobile Apps for Field Teams: Architecture Patterns That Scale

Practical architecture patterns for founders building field-ops software — role-based permissions, offline-friendly photo capture, approval workflows, and scaling from 5 to 30+ sites without a rebuild.

PSG
Partha Sarathi Ghosh

Partha Sarathi Ghosh

Founder & Engineering Lead · 6 min read · July 31, 2026

Construction workers collaborating over plans and a tablet on site

Why role-specific apps beat one app with permission toggles

The first architecture decision in any multi-role field-ops system is whether to build one app with role-based views, or separate apps per role sharing a common backend. The right answer depends on how different the roles' actual workflows are, not just their permissions.

A permissions toggle works fine when every role is looking at roughly the same data with different visibility levels — think an admin who sees everything and a manager who sees their team's subset. It breaks down when the roles have fundamentally different jobs to do inside the app. A field worker doing rapid, repetitive daily capture needs a stripped-down, fast interface optimized for one-handed use with gloves on. An owner reviewing a portfolio of sites needs dashboards, comparisons, and trends. Cramming both into one interface with a role switch produces an app that's slow for the field worker and cluttered for the owner.

That's the reasoning behind the architecture in the Construction Operations Platform case study: five distinct interfaces — Site Incharge/Engineer Mobile App, Supervisor Mobile App, Owner Mobile App, Client Mobile App, and an Admin Web Dashboard — all built against one shared workflow engine rather than one app trying to be five things. The apps are different. The underlying data model and business logic are not.

Designing the shared workflow engine

The apps being separate doesn't mean the logic is duplicated five times. Every role-specific interface talks to the same backend workflow engine, which owns the actual state of a site: who's marked present today, what inventory has been requested and approved, what progress photos have been logged, what payment requests are open. Each app is a different lens onto that same state, not a separate source of truth.

This matters for two reasons. First, it keeps the system consistent — if the owner and the client are looking at the same site, they're looking at the same underlying data, just formatted differently for their needs. Second, it makes adding a new role-specific interface later a comparatively small project, because the hard part — the data model and business rules — already exists. Building on React Native for the client-facing apps and Node.js on the backend, with SQL and MongoDB covering structured and document data respectively, gave GharBanegaEasy's platform a consistent API surface that every role-specific app consumes the same way.

Offline-friendly photo capture: the pattern that actually holds up in the field

Field-ops apps live or die on how they handle bad connectivity, because construction sites, warehouses, and remote job sites are exactly where connectivity is worst. The pattern that works: capture and queue locally, sync when connectivity returns, never block the next action on a successful upload.

Concretely, that means when a worker takes a photo for attendance or progress logging, it saves to the device immediately with a local timestamp and (where relevant) location data. The app lets them move on to their next task right away. Upload happens in the background, with retry logic that doesn't require the worker to babysit it. If your workflow depends on proof that a photo was taken live — not selected from the camera roll — pair the local capture step with server-side validation of the metadata once the photo syncs, rather than trying to enforce liveness at the moment of capture, which is both harder to build reliably and more fragile on poor connections.

This is exactly the pattern behind GharBanegaEasy's live-capture-only attendance system and its daily multi-angle progress photo logs — both need to work reliably for a worker standing in a location with one bar of signal, not just in a demo on office wifi.

Approval workflows: making every request auditable

Inventory and material requests need more than a "requested" and "fulfilled" state. A workflow that actually holds up under scrutiny needs, at minimum: a requester, the request itself (quantity, reason, timestamp), a designated approver, a proper state machine (requested → approved or rejected → fulfilled), and a timestamped audit trail of every transition.

The audit trail is the part teams most often underbuild, and it's the part that matters most once a dispute happens. When a state change is logged with who made it and when, a disagreement about who authorized a material order becomes a two-minute lookup. Without it, it's an unresolvable argument. GharBanegaEasy's inventory requests, usage tracking, and approvals were built around this pattern specifically because untraceable discrepancies were one of the core problems the platform needed to solve.

The same approval-and-audit pattern extends naturally to payments — payment requests, reminders, and invoices in GharBanegaEasy's platform run through Razorpay with the same "every state change is logged" discipline applied to money instead of materials.

Scoping the data model so 6x growth doesn't force a rebuild

The architecture decision with the highest long-term cost if you get it wrong is how you model roles and sites in your data layer. If a system is built assuming one owner and a handful of sites — with those assumptions hardcoded into the schema rather than modeled as relationships — scaling to dozens of sites means retrofitting assumptions that were never designed to bend. That's a rebuild, not a scale-up.

The alternative is treating roles and sites as first-class, scoped entities from the start: every piece of data — an attendance record, an inventory request, a progress photo — belongs to a specific site, and every user has a role that determines which sites and which actions they can see and perform. Built this way, going from 5 sites to 30 is a matter of scaling infrastructure — more database capacity, better indexing, caching hot queries — not rewriting how the system understands who's allowed to see what. That's precisely what happened on GharBanegaEasy's platform: the same architecture that supported 5 concurrent projects scaled to 30 without a structural rebuild, a 6x increase handled as an operations and infrastructure exercise rather than a re-architecture.

Where to start if you're building this today

If you're a founder scoping a field-ops product and trying to decide how much of this to build on day one: get the data model and workflow engine right first, even if you launch with fewer role-specific interfaces than you'll eventually need. Two roles — a field-capture role and an oversight role — is often enough to validate the product. What you can't cheaply retrofit later is a data model that didn't treat roles and sites as scoped, first-class entities from the start. Get that part right, and adding a third or fourth role-specific app on top of it is a comparatively small build.

This is the kind of architecture decision that's much cheaper to make correctly before you write the first line of code than to fix after your user base has 10x'd. If you're scoping a multi-role field-ops build and want a second set of eyes on the data model before you commit to one, our mobile app development team has been through this exact set of trade-offs building GharBanegaEasy's platform from 5 sites to 30 and beyond.

FAQs

Frequently asked questions

PSG
Partha Sarathi Ghosh

Written by

Partha Sarathi Ghosh

Founder & Engineering Lead, DevOrbital

Partha leads DevOrbital, where his team has elevated 50+ businesses across MVP development, AI agents, custom software, and growth. He writes about the hidden mechanics of getting AI-generated code into production, MVP scope discipline, and the architecture decisions founders make too late.

Keep reading

Related reading

#mobile-app-architecture#field-operations#role-based-access#system-design#construction-tech
← Back to all articles

Ready to start?

Ready to Build Something Great?

Let's talk about your product, your goals, and the fastest path to getting there. No pressure — just a real conversation.