iOS SwiftUI Developer Needed — WhatsApp-Style Optimistic Media Uploads + Supabase Realtime Chat Fixes

Job ID: 40148557

Budget: $15 – $25 USD

I'm building a SwiftUI iOS app with real-time chat backed by Supabase (Realtime + Storage) and need an experienced iOS developer who actually understands optimistic UI patterns (WhatsApp / iMessage-style) — especially for photo + video uploads.

**DO NOT REPLY WITHOUT YOUR PLAN AND ANSWER TO THESE - Brief explanation of how you'd approach optimistic media uploads with Supabase Storage (even if you haven't used it before, describe your mental model)
Any past chat or messaging experience
iOS apps you've worked on (links or screenshots) ****

This is not greenfield. The chat already exists. I need someone to audit, stabilize, and improve it — not rewrite the entire system.

What I need help with (core scope):
Optimistic media uploads (WhatsApp-style UX)

User taps Send → message appears instantly
Media shows a local placeholder / thumbnail immediately
Upload runs in the background (Supabase Storage)
Placeholder smoothly transitions to the final uploaded asset
Failed uploads show clear error + retry states
No waiting on the network to show messages
Must work cleanly with SwiftUI state updates (no hacks)

Chat reliability issues to audit & fix:

Occasional missing messages
Occasional duplicate messages
Real-time sync edge cases (late or out-of-order messages)
Ensure optimistic logic does not create double-send bugs when Supabase Realtime broadcasts confirmed messages


Tech context:

iOS app built in SwiftUI
Supabase Realtime for messaging
Supabase Storage for photo & video uploads
Existing chat architecture — you'll work within it, not rewrite the app
Media uploads already exist; UX + reliability need tightening


What I'm looking for:
Must have:

Strong SwiftUI experience (not UIKit-only)
Has shipped optimistic UI / optimistic messaging before
Understands client-generated IDs vs server-confirmed IDs
Comfortable debugging Supabase Realtime edge cases (or willing to learn quickly)
Can explain tradeoffs clearly (no "works on my device" energy)

Nice to have:

Production experience with Supabase chat
Experience building chat or messaging apps
Familiarity with WhatsApp / iMessage interaction patterns


Engagement:

Short-term contract to start
Potential for ongoing work if this goes well
I care more about correct architecture + UX polish than rushing


When you apply, please include:

Your approach to optimistic media uploads with Supabase Storage (even if you haven't used it before, describe your mental model)
A clear test plan for validating the fixes:

What scenarios you'd test (e.g., airplane mode, slow networks, failed uploads, duplicate message detection)
How you'd reproduce current bugs
What edge cases you'd prioritize


Day 1-3 deliverables with estimated hours:

Day 1: What you'll audit/review and what findings I should expect (e.g., "Code audit + written assessment of current optimistic upload logic and message sync issues — 4-6 hours")
Day 2: What you'll build/fix and what I can test (e.g., "Implement optimistic placeholder → upload → transition flow with retry logic — working demo build — 6-8 hours")
Day 3: What the final result looks like (e.g., "Full test suite run + edge case fixes + documented test plan for ongoing QA — 4-6 hours")


Any past chat or messaging experience
iOS apps you've worked on (links or screenshots)
Estimated total hours to complete the core scope (optimistic uploads + chat reliability fixes)


Why this works better:
Filters out:

Developers who can't plan work concretely
People who promise vague "I'll fix everything" solutions
Contractors who bill hourly without clear milestones

Self-selects in:

Methodical problem-solvers who understand QA
Developers who've debugged real-time sync issues before
People who can break down ambiguous problems into testable chunks

The application now forces them to demonstrate:

Technical understanding (optimistic upload approach)
QA mindset (test plan)
Project management skills (day-by-day breakdown)
Realistic scoping (total hours estimate)