Project Challenge
The biggest technical challenge was delivering strong performance at scale across every layer of the app:
- Rendering thousands of map markers smoothly
- Keeping messages available offline while syncing live updates
- Reducing server load as features expanded
- Maintaining responsive UX across Android and iOS
Solution & Results
Using PostGIS spatial indexing, SQLDelight offline-first caching, and database RPC functions that replaced dozens of network calls with single requests, the platform achieved:
- β‘ 90% fewer API calls
- π 95% lower WebSocket quota usage
- πΊοΈ 100k+ map markers rendered at 60fps
- π± Shared native-quality Android + iOS experience
Tech Stack
- Kotlin Multiplatform
- Compose Multiplatform
- Supabase (Postgres, PostGIS, Realtime, Storage)
- MapLibre
- SQLDelight
- Koin
Key Features
πΊοΈ Interactive Map
MapLibre clustering engine rendering 100k+ markers at 60fps, powered by a single get_markers_in_bounds PostGIS RPC.
π¬ Real-Time Chat
Offline-first 1-on-1 and group messaging with:
- SQLDelight local cache
- Message requests
- WebSocket presence
- Advanced unread-state synchronization
π° Unified Social Feed
Single timeline supporting:
- Events
- Activities
- Posts
- Infinite scroll
- Optimistic likes
- Batched reactions
βοΈ Content Creation
Users can create:
- Community events with paid ticketing
- Personal activities
- Social posts
- Cropped images directly in-app
π Authentication & Security
- Google Sign-In
- Automatic JWT refresh
- RLS-enforced privacy
- Dual-verification email change flow
π§Ή Scheduled Maintenance
Daily Supabase Edge Functions clean orphaned chat data and recover ~475 MB/month of storage.
Architecture
Built using MVVM + Repository pattern with:
- 27 ViewModels
- 24 Repositories
expect/actualplatform adapters- Modular ChatViewModel split into 13 focused sub-controllers for scalability and maintainability
Outcome
Up demonstrates how modern mobile architecture can unify discovery, social networking, and messaging into one high-performance product using a shared Kotlin Multiplatform codebase.
