CASE STUDY

Example buildMobile App

Field Service Job App

Dispatch, on-site checklists, photo proof and an invoice raised before the technician leaves.

Type
Mobile app + dispatch web
Build time
14–18 weeks
Platforms
Android and iOS, offline-capable
Starts at
₹1,40,000*

This is an example build. Tavzuran is a new studio with no client work to show yet. This page describes how the project would be scoped and built — the same thinking you would get on a real one. Nothing here is a past client, and no number on this page is a result.

The price follows the feature list. The number above buys everything scoped on this page. Take features out and it comes down — the shortest route to a smaller number is a shorter list, and deciding what to drop is what the free call is for.

THE SITUATION

What's actually broken.

A service business — appliance repair, AC servicing, pest control — runs a team of technicians. Jobs are assigned over the phone, completion is reported by WhatsApp, and invoicing happens later from memory. Payment slips by days for no reason other than paperwork.

Like the delivery app, this lives or dies on working without signal. Technicians go into basements, lift shafts and buildings with no coverage, and the job still has to be recorded.

  • Jobs are assigned by phone call and forgotten

  • Proof of work is a photo in someone's personal WhatsApp

  • Invoices go out days after the job is done

  • Nobody knows which technician is free right now

VERSION ONE

What we'd build first.

Every item here earns its place by being something a real user would miss on day one.

Dispatch board

Today's jobs, who is free, and assignment by drag rather than by phone call.

Technician app, offline-first

The day's jobs download in the morning. Everything recorded on site syncs when signal comes back.

On-site checklist

Per job type, so the work is consistent and the parts used are captured while the technician is still standing there.

Proof of work

Before and after photos, plus a customer signature, timestamped and attached to the job permanently.

Invoice on completion

Generated from the checklist and parts, sent by WhatsApp before the technician leaves the site.

DELIBERATELY NOT IN V1

What we'd leave out.

Not because these are bad ideas. Because each one is designed better once the first version has told you something.

  • Route optimisation across the whole team — buy it from a specialist API when the volume justifies it.
  • Parts inventory across a warehouse. Start with what is on the van.
  • Customer self-service booking, until the dispatch side is steady.

UNDER THE HOOD

How it's put together.

Technician app
React Native with an on-device database and a sync queue — the bulk of the engineering
Dispatch board
React, used on a desktop at the office
Backend
Node with Postgres
Photos
Compressed on the device before upload
Invoices
GST-compliant, generated server-side so numbering can never collide

HOW IT RUNS

Week by week.

  1. 01

    Week 1

    Ride along with a technician for a day. This changes the design more than any meeting will.

  2. 02

    Weeks 2–10

    Technician app, offline storage and sync.

  3. 03

    Weeks 11–15

    Dispatch board and assignment.

  4. 04

    Weeks 16–18

    Invoicing, then two technicians run it live for a week or two.

THE HARD PART

Offline sync with money attached

Every build has one problem that decides whether the rest of it matters. This is that problem, written out.

This build has the delivery app's offline problem plus a complication that makes it materially harder: the outcome of the job produces an invoice. A duplicate delivery record is embarrassing. A duplicate invoice is a phone call from a customer who has been billed twice.

So the sync design has to be stricter. Every job completion carries an identifier created on the device, and the server treats a repeat as the same event rather than a new one. Invoice numbers are issued server-side, never on the device, because two technicians coming back online in the same minute must not be able to produce the same number.

There is a human constraint too. A technician finishing a job wants to leave, so anything between them and the van has to be worth its seconds. The checklist is the invoice — parts used and work done become line items automatically — because asking someone to enter the same information twice guarantees the second entry never happens.

BEFORE A PRICE EXISTS

What we'd ask you first.

A quote given without these answers is a guess. These are the questions that actually move the number.

  1. 01How many technicians, and how many jobs does each do in a day?
  2. 02What job types are there, and does each have a standard procedure?
  3. 03Do technicians carry parts on the van, and who tracks them?
  4. 04How is an invoice raised today, and how long after the job?
  5. 05Where does coverage fail — basements, lifts, industrial sites?

AFTERWARDS

How we'd know it worked.

Agreed before the build starts, so there is something to judge it against other than whether it looks nice.

  • Jobs are recorded on the day they are done, not reconstructed later.
  • The invoice leaves before the technician does.
  • The gap between work done and payment received shrinks.
  • A disputed job is settled with photos and a timestamp.

BEFORE YOU START

Worth knowing.

Offline sync is the expensive part and the reason the app gets used. If the budget forces a choice, cut features rather than cutting offline — an app that needs signal will be abandoned in the first basement.

Websites and apps start at ₹20,000*. Final pricing depends on features and project scope. Third-party costs — cloud hosting, domains, external libraries, APIs, app-store fees and any other paid service — are billed separately and are not included.

Want this built for your business?

Tell us what you're thinking. We'll figure out the next step together.

Free 20-min idea call · No obligation

Book a Free Call