All projects

Khidmat — خدمت

Local-first Flutter app that keeps worker contacts, service appointments and job records on the phone — with full Urdu and English support.

Khidmat — خدمت cover

Khidmat keeps worker contacts, service appointments and work records on the phone in English or Urdu. Users pick one of two roles — Worker, to organise client jobs, or Work giver, to plan services with people they know. Contacts are added by hand with a phone number and service, then searched by name, city, English, Urdu or Roman Urdu service words. From a contact the user can call, send an SMS, share details or plan an appointment; jobs then record the date, address, amount and notes and move through a status as the work progresses. Version 2.0.0 removed the Supabase backend entirely, so no account, server, login or connection setup is needed and every record works without a network. Language choice survives restart and Urdu uses a right-to-left layout.

Key Features

  • Two role modes — Worker and Work giver — each with its own dashboard
  • Contact search across name, city, English, Urdu and Roman Urdu service terms
  • One-tap call, SMS and share from any saved contact
  • Appointment and job records with address, amount, notes and progress status
  • Full Urdu / English switching with right-to-left layout that persists across restarts
  • JSON backup and restore with validation and confirmation before replacing records
  • Queued writes with a previous copy retained for recovery

Repository Topics

#flutter#offline-first#urdu#localization#service-booking

Challenges

Removing a live backend without losing the product: keeping records durable on-device, making writes crash-safe, and giving users a reliable export path before they uninstall.

Results

A shippable Android APK (ARM64, ARM32 and x86-64) that runs fully offline, with the iOS project included and a clearly documented path to TestFlight distribution.