Up Project
Up is a cross-platform social discovery app (Android/iOS) that connects people through location-based events and real-time messaging. The goal was to build a single product unifying three experiences — a live discovery map, a polymorphic social feed, and a full-featured chat system - on a shared Kotlin Multiplatform codebase backed by Supabase. The outcome is a production-grade app that renders 100k+ map markers at 60fps via PostGIS clustering, supports offline-first 1-on-1 and group messaging with realtime presence, and achieves 90% fewer API calls and 95% lower WebSocket usage through aggressive batching, caching, and database-driven RPCs.

Tech Stack
Kotlin Multiplatform · Compose Multiplatform · Supabase (Postgres, PostGIS, Realtime, Storage) · MapLibre · SQLDelight · Koin
Highlights
- Real-time chat
1-on-1 and group messaging with an offline-first SQLDelight cache, message requests, and WebSocket-based presence - Interactive map
MapLibre clustering rendering 100k+ markers at 60fps, powered by a single PostGISget_markers_in_boundsRPC - Unified social feed
Polymorphic timeline (events, activities, posts) via a singleget_latest_feedRPC, featuring infinite scroll and optimistic likes - Content creation
Community events (with paid ticketing), personal activities, and posts with an in-app image cropper - Authentication & security
Google Sign-In, secure email change flow, automatic JWT refresh, and RLS-enforced privacy - Scheduled Edge Functions
Daily cleanup job reclaiming ~475 MB/month of orphaned data - Performance optimizations
90% reduction in API calls via batch operations and 95% lower WebSocket quota usage for presence updates - Architecture
MVVM + Repository pattern with 27 ViewModels and 24 repositories, usingexpect/actualfor Android and iOS