SwiftUI Chat Performance – Fix Typing Lag in Large ThreadsFreelanceJobs • Canada
Cette offre d'emploi n'est plus disponible
SwiftUI Chat Performance – Fix Typing Lag in Large Threads
FreelanceJobs
- Canada
- Canada
À propos
A production iOS chat app (SwiftUI + Supabase). It runs fine in small threads. In large ones, typing stutters. We need it gone.
This is a performance debugging job, not a chat build. If you profile first and fix second, read on.
The problem
Typing in large message threads causes UI lag. We believe the root causes are somewhere in:
main-thread work firing during keystrokes
the message array re-diffing on every state change
typing state not isolated from the message list
link preview parsing without debouncing
excessive body recomputation in message rows
You'll confirm what's actually happening — not theorize about it.
The goal
Consistent 60fps while typing, even when:
message history is large
real-time messages are arriving
typing indicators are active
link previews are being resolved
Current stack
SwiftUI · Supabase Realtime · LazyVStack / ScrollView · Pagination already in place
Phase 1 — Diagnostic (fixed milestone)
Deliverable is a complete performance breakdown:
Instruments profiling (Time Profiler + Core Animation)
Screen recording showing the lag
Written breakdown of every bottleneck found
Prioritized fix plan with expected impact per item
Phase 2+ — Implementation
Based on Phase 1 findings:
Render isolation for message rows
Typing / message list state separation
Windowed loading strategy
Any additional fixes required
Continued engagement after a successful diagnostic.
You must have
Real SwiftUI performance work on large scrollable lists or chat UIs
Hands-on Instruments experience (not just awareness of it)
Solid understanding of view identity, diffing, and Equatable conformance
The ability to explain your debugging process clearly
Not a fit if
You build UIs but don't profile them
An agency will be doing the actual work
You can't walk through how you'd approach this before starting
To apply, answer these three questions:
What SwiftUI performance issue have you fixed on a large dynamic list? What was the root cause and what did you change?
What's the first thing you'd look at in Instruments for keyboard stutter in a chat screen?
Will you personally be doing this work?
Relevant apps, repos, or case studies are a strong plus.
Contract duration of less than 1 month. with 30 hours per week.
Mandatory skills: Swift, Supabase
Compétences linguistiques
- English
Avis aux utilisateurs
Cette offre a été publiée par l’un de nos partenaires. Vous pouvez consulter l’offre originale ici.