Need a Senior Flutter + Backend Team to Build Offline-First Survey App
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
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
Related categories:
Mobile App Development
Android
C# Programming
PostgreSQL
SQLite
Flutter
Android App Development