Your inspectors work in zones with spotty connectivity. Photos and notes get captured offline, but there's no visibility into whether they'll sync when they reconnect. Inspectors worry data might be lost.
Add a visual sync queue that shows pending photos, notes, and their upload status in real-time. A floating badge displays the count of pending items with animated upload progress. When an inspector reconnects, they see the queue processing in the background—creating confidence that data won't be lost.
Use Supabase's queue table with a pending flag. Implement background sync with Workmanager on Android and BackgroundTasks on iOS. Show a floating action badge with upload count and percentage progress. Hook into Connectivity Plus to trigger batch syncs when connectivity returns.
Superintendents submit the same report structure every day—weather, crew count, tasks completed, safety notes. Typing the same sections repeatedly wastes time and reduces field app adoption (crews resist friction).
Let users tap pre-filled templates that auto-populate from yesterday's report or project defaults. A template manager in settings lets super create 3–5 standard report shapes per project. Cuts 2 minutes per report, improves consistency, and removes friction from daily use.
Add a template manager in settings. Store templates as JSON in Supabase (`project_report_templates` table). Use Riverpod to pre-populate form fields when creating a new report. Show "Use Template" button on report create screen with a dropdown of saved templates.
RFI responses, change order rationale, and submittal notes are text-heavy. Field users struggle to type detailed responses while standing in front of existing conditions. Accessibility suffers; adoption drops.
Let field users record voice notes instead of typing lengthy replies. Transcribe the audio (via Supabase Edge Function + OpenAI Whisper) and attach both the audio file and transcript to the RFI/submittal. Speed + accessibility + hands-free documentation.
Integrate the `speech_to_text` package. Store .m4a files in Supabase Storage under the project_docs bucket. Create a Supabase Edge Function to transcribe audio via Whisper API. Store transcription in attachment metadata. Show both audio player and text transcript in the RFI/submittal detail view.
Push notifications shipped last week across all three apps. This brief focuses on field friction: offline reliability, speed (templates), and accessibility (voice). These are the three pain points keeping field adoption below potential. Tackle them in parallel across your ecosystem.