Skip to content

v1.0.0 | Initial Release

Choose a tag to compare

@TheRealAshik TheRealAshik released this 29 Oct 16:17
· 1 commit to main since this release

πŸš€ Synapse Social v1.0.0 β€” Initial Release

First stable release of Synapse Social: a cross-platform social media app built on "Native UI, Shared Logic."


πŸ“¦ What's Included

This inaugural release ships the full KMP stack across all four targets, with Supabase powering auth, realtime messaging, and storage.


πŸ€– Android (:app) β€” commonMain + androidMain

  • βœ… 100% Jetpack Compose UI (zero XML)
  • βœ… Clean Architecture + MVVM, one ViewModel per screen holding StateFlow<UiState>
  • βœ… Hilt dependency injection
  • βœ… MaterialTheme.colorScheme, Spacing, and stringResource() β€” no hardcoded values
  • βœ… Rich media posts: images, video (ExoPlayer), markdown rendering
  • βœ… Real-time chat via Supabase Realtime subscriptions
  • βœ… X-style threaded comments with inline replies
  • βœ… Group chat with AI-powered smart replies (Gemini SDK)
  • βœ… Encrypted local storage & secure auth flows

🍎 iOS (iosApp) β€” commonMain + iosMain

  • βœ… 100% SwiftUI UI
  • βœ… ObservableObject ViewModels with @Published and @MainActor
  • βœ… IosSecureStorage for Keychain-backed sensitive data
  • βœ… Native iOS look and feel β€” no cross-platform UI compromises
  • βœ… Real-time chat, threads, group chat, rich media parity with Android

πŸ’» Desktop (desktop)

  • βœ… Compose for Desktop target
  • βœ… Shares :shared business logic, networking, and data layer
  • βœ… Native desktop windowing and input handling

🌐 Web (web)

  • βœ… Kotlin/Wasm target
  • βœ… Browser-native delivery
  • βœ… Shared networking (Ktor), database caching (SQLDelight), and domain models

🧩 Shared Core (:shared)

  • βœ… Kotlin Multiplatform shared module
  • βœ… Domain: pure data class models, repository interfaces, one operator fun invoke() per UseCase returning Result<T>
  • βœ… Data: DTOs mirroring external schema, mandatory mappers (toDomain()), repository impls orchestrating DataSources
  • βœ… DI: Koin, exposed to iOS via DependencyContainer
  • βœ… Backend independence: all Supabase SDK calls (GoTrue auth, Realtime channels, Storage) encapsulated in the data layer; domain remains 100% provider-agnostic

✨ Features at a Glance

Area Highlight
🧩 Architecture Clean Architecture + MVVM, KMP shared module
🎨 UI Jetpack Compose (Android), SwiftUI (iOS), Compose Desktop, Kotlin/Wasm
πŸ’¬ Messaging Real-time chat, threaded comments, group chat
πŸ€– AI Gemini-powered smart replies in group chat
πŸŽ₯ Media Image, video (ExoPlayer), and markdown post rendering
πŸ”’ Security Encrypted local storage, Keychain (iOS), secure auth
☁️ Backend Supabase auth, realtime, storage β€” fully encapsulated

πŸ› οΈ Get Started

git clone https://github.com/synapseSRC/synapseApp.git
cd synapseApp

# Android
./gradlew :app:installDebug

# iOS (macOS)
open iosApp/iosApp.xcodeproj

# Desktop
./gradlew :desktop:run

# Web
./gradlew :web:wasmJsBrowserDevelopmentRun

Native UI. Shared Logic. Real-time everything. ⚑

Built with ❀️ by the StudioAs Inc. team