Need a Senior Flutter + Backend Team to Build Offline-First Survey App

Job ID: 40149241

Budget: $250 – $750 USD

Project Overview

We are hiring an experienced mobile app development team (minimum 2 developers) to build a modern, offline-first survey application from scratch.

The app will be used by non-technical field volunteers to collect contact information and conduct surveys across campaign-based geo hierarchies, with mandatory geo-location verification and periodic server synchronization.

An existing APK will be shared only for functional reference.

This is not a beginner or learning project. Apply only if you have proven experience with offline-first mobile apps and GPS capture.

Preferred Tech Stack

Mobile App

Flutter (Android first)

SQLite (Drift / Floor)

Riverpod (or equivalent)

Flutter Intl / ARB for localization

Platform Channels to reuse existing Java code for:

Printing

WhatsApp messaging

Backend

Supabase (PostgreSQL, Auth, Storage, Edge Functions)

Relational schema (mandatory)

DevOps

GitHub (repository owned by us)

GitHub Actions for CI/CD

Daily APK builds

If you propose an alternative stack, you must justify offline sync and relational geo-hierarchy support.

User Roles and Features

Super Admin

Create and manage campaigns

Define geo-unit hierarchy per campaign
(e.g., Campaign → Mandal → Village → Booth)

Upload contacts via CSV

Generate passcodes mapped to geo-units

One Admin passcode per geo-unit

One Volunteer passcode per geo-unit

Create and manage survey questions

Configure app UI assets:

Home screen content

Splash screen image

Print slip template

WhatsApp campaign image

Full access to Admin and Volunteer features

Admin

Login using geo-unit Admin passcode

Team management:

Assign volunteers to geo-units

Enable or disable volunteers under their geo-unit

Monitor data collection and survey progress

Generate geo-unit–scoped reports

Volunteer (Field User)

Volunteers perform two distinct offline activities.

Basic Contact Information Collection

Collect or update:

Phone number

Age (if applicable)

Favorability or preference

Additional configurable fields

Works completely offline

Mandatory geo-location capture:

Latitude

Longitude

Timestamp

Accuracy (if available)

Survey Execution

Conduct campaign-specific surveys

Works completely offline

Mandatory geo-location capture at submission

Auto-save survey progress

Additional Volunteer Capabilities

Register using geo-unit Volunteer passcode

Automatically mapped to campaign and geo-unit

View assigned contacts

Search contacts by name, mobile number, and geo-unit

Print contact slip (existing Java logic)

Send WhatsApp message (existing Java logic)

Participate in live polls

Geo-Location and Verification (Critical)

Geo-location capture is mandatory for:

Basic information collection

Survey submission

Location must be captured from device GPS

No manual location entry

Works offline and syncs later

Store latitude, longitude, timestamp, and accuracy

Location data must be visible in admin reports

Purpose: Ensure the volunteer physically visited the contact.

Core Requirements

Offline-First

Application must function completely offline

Background sync when internet is available

Clear sync status indicators

Server-wins conflict resolution

User Experience

Designed for non-technical users

Minimal steps and screens

Large buttons

Auto-save of progress

Clear offline indicators

Language Support

English and one Indian regional language

No hardcoded strings

Code and Architecture Standards (Non-Negotiable)

Clean Architecture (Domain, Data, Presentation)

No file exceeding 300 lines

Feature-based folder structure

No hardcoding

SOLID principles

Reusable components

Centralized error handling and logging

Environment-based configurations

CI/CD and Delivery Expectations

Daily commits to GitHub

Daily APK shared for testing

Branch strategy:

main

develop

feature branches

Automated build pipeline

Timeline

Seven-day delivery sprint.

Day 1: Architecture, database schema, authentication
Day 2: Campaign and geo-unit management
Day 3: CSV import and offline sync
Day 4: Survey engine
Day 5: Admin and volunteer workflows
Day 6: Reports, printing, WhatsApp integration
Day 7: Testing, polish, and documentation

Deliverables

GitHub repository (owned by us)

Production-ready APK

Database schema and architecture diagram

Setup and deployment documentation

Knowledge transfer session

Ideal Candidate or Team

Minimum two developers:

Flutter developer with offline-first experience

Backend/PostgreSQL/sync specialist

Proven experience with:

Offline-first mobile applications

GPS capture and synchronization

Flutter with SQLite

Supabase or PostgreSQL backend

Comfortable with daily demos and feedback

Willing to sign NDA

Do Not Apply If

You are a solo developer

You have no offline synchronization experience

You rely only on Firebase without relational modeling

You cannot deliver daily builds

You plan to outsource work without disclosure

How to Apply

Please include:

Links to offline-first apps you have built

Your team composition

Confirmation you can deliver in seven days

Your fixed price for this sprint

Any risks or assumptions

NDA Required