All apps
Social Connect app icon

Social Connect

Eight separate dating platforms, live streaming, video calling and games in a single app.

  • iOS
  • Android
  • 2023
  • My own product
App Store · archived Google Play · archived

Screenshots

Click any image to enlarge it.

About the app

Social Connect was a dating app, but unlike a conventional one it brought eight separate platforms under one roof: anonymous chat, map-based discovery, swipe matching, language practice, stories, an adult platform, and the option to become a creator inside the app and earn from it.

On top of that sat live streaming infrastructure, voice and video calls, real-time chat, a gift economy, live trivia shows and prize games. I ran the entire product on my own — architecture, development, backend and app store releases.

It is a 2023 project, meaning it was written before AI-assisted coding tools became widespread. Looking back today, holding this many different subsystems together in a single product is the work that taught me the most.

The app is no longer in the stores, and there was not a single reason for that. Because I hosted video calling on my own server, infrastructure was a constantly running cost; each of the eight platforms needed its own maintenance, and past a certain point keeping all of them running alone was no longer possible. When problems on the app store policy side were added to that, I pulled the app myself. The technical side worked; what stopped me was the cost of keeping a system of this scale alive with one person. This is where I learned to weigh server costs against the product's revenue.

Highlights

  • Eight separate platforms: anonymous chat, map discovery, swipe matching, language practice, stories, an 18+ platform, creator streaming
  • Live streaming: going live, watching, live comments and earning as a creator
  • Voice and video calling — built on JitsiMeet infrastructure
  • Instant message translation: translating an incoming message into any language
  • Gift economy: sending virtual gifts to creators and other users
  • Rich messaging: replies, GIFs via GIPHY, photo, video and voice messages
  • Spotify integration: sharing music on the profile and in chat
  • Photo and video editor inside the app
  • Anonymous story sharing
  • Games: online and offline games, prize games, live trivia shows
  • Location-based discovery — finding nearby people on a map
  • In-app purchase and subscription infrastructure

Technologies used

112 technologies · 12 categories

Languages and App Layer

  • Swift (iOS)
  • Java (Android)
  • Kotlin (Android)
  • UIKit / SwiftUI
  • XML layout / Jetpack Compose
  • MVC / MVVM architecture
  • GCD / Kotlin Coroutines

Backend and Data

  • Firebase Firestore
  • Real-time listeners
  • Firestore security rules
  • Firebase Storage
  • Cloud Functions
  • Firebase Messaging + APNs
  • Authentication and sessions
  • Firestore offline cache
  • Batch write
  • Cursor-based pagination
  • Denormalization
  • Counter fields
  • Cloud Functions triggers
  • Scheduled jobs
  • Data migration

Real-Time and Calling

  • JitsiMeet SDK
  • WebRTC
  • Self-hosted Jitsi (DigitalOcean)
  • Live stream delivery
  • Camera and microphone permissions
  • AVAudioSession / audio management
  • Game state synchronization
  • STUN / TURN configuration
  • Audio routing (speaker / headphones)
  • Keeping calls alive in the background
  • Reconnecting after network drops
  • Call state synchronization
  • Server resource and scale monitoring

Media and Content Creation

  • AVFoundation (iOS)
  • Android camera / MediaCodec
  • PHPicker / media picker
  • Image processing (Core Image)
  • Video trimming and export
  • Audio recording and playback
  • Video player integration
  • Image and video caching

Service Integrations

  • Spotify API
  • GIPHY API
  • Translation API integration
  • OAuth authorization
  • URLSession (iOS)
  • REST / JSON handling

Location and Maps

  • Core Location (iOS)
  • MapKit (iOS)
  • Google Maps SDK (Android)
  • FusedLocationProvider (Android)
  • Location permission flows
  • Geo proximity queries

Payments and Revenue

  • StoreKit (iOS)
  • Google Play Billing (Android)
  • Subscription management
  • Server-side receipt validation
  • Virtual token economy
  • Creator revenue sharing

Networking and Data Transfer

  • HTTP client (Android)
  • JSON parsing (Codable)
  • Retry and timeout handling
  • Offline state management
  • Image caching
  • Download and upload queue
  • Multipart file upload
  • Bandwidth-based quality

Security and Privacy

  • Keychain (iOS)
  • EncryptedSharedPreferences (Android)
  • HTTPS and ATS
  • Auth token management
  • Session refresh
  • Permission usage descriptions
  • Account deletion flow
  • Server-side authorization checks
  • Sensitive data masking

UI States and Accessibility

  • Dark mode support
  • Dynamic Type
  • Safe area handling
  • Empty / loading / error states
  • Skeleton loading
  • Pull to refresh
  • Keyboard and focus management
  • Deep linking (Universal Links)
  • VoiceOver / TalkBack labels

Testing, Debugging and Profiling

  • Xcode Instruments
  • Android Profiler
  • LLDB
  • Logcat
  • Memory leak tracking
  • Network traffic inspection
  • Reading crash reports
  • Testing on real devices
  • Testing across screen sizes

Tools and Release Process

  • Xcode
  • Android Studio
  • CocoaPods
  • Gradle
  • Git
  • App Store Connect
  • Google Play Console
  • Open source libraries (GitHub)
  • TestFlight
  • Play Console internal testing
  • Version and build numbering
  • Signing and provisioning profiles
  • App Store review process
  • App Privacy / Data Safety form
  • Store assets and ASO copy
  • App size optimization
Solo work

Idea, design, UI, code, store release and post-launch maintenance — I handled the entire process end to end on my own. No team, no agency, no outsourcing.

Development notes

  • Languages and approachThe iOS side was written in Swift and the Android side in Java and Kotlin. No cross-platform framework was used; both apps were built with their own platform's native tooling. I have been doing mobile development since 2020.
  • No AI assistanceAll of the code was written by hand. This project was built before AI coding tools like Claude Code and Codex became widespread — no such tool existed at the time.
  • DependenciesMany open source GitHub libraries and CocoaPods packages were used. Dependency management ran through CocoaPods on iOS and Gradle on Android.
  • Video calling infrastructureJitsiMeet was self-hosted on my own server rather than used as a managed service (DigitalOcean). Server setup, media delivery and scaling were all on me.
  • ScaleEight separate platforms, live streaming, video calling and games in a single app. Keeping this many different subsystems alive in the same codebase is the work that taught me the most.
  • Testing and debuggingTested on real devices, across different screen sizes and on weak network conditions. After launch I read crash reports and shipped fixes release by release.
  • Release processI ran the review process for both stores myself: App Store Connect and Google Play Console setup, privacy declarations (App Privacy / Data Safety), release notes, store assets, and fixes based on rejection reasons.
  • Product ownershipIdea, design, development, backend, store release and post-launch maintenance — I ran the entire process on my own.

Let's talk about Social Connect

I am happy to walk through the technical details, the problems I ran into and how I solved them.