Chatify – Offline-First Kotlin Multiplatform Chat Application Built with Compose & MVI
Chatify is a robust Kotlin Multiplatform application showcasing a modern local-first architecture, reactive synchronization engine, and polished UI animations.
It is built using Compose Multiplatform for shared UI across Android and iOS, SQLDelight for local persistence, and the MVI (Model-View-Intent) pattern for predictable and scalable state management.
🎯 Key Features
⚡ Local-First Architecture
Chatify works fully offline by design. Every user action is persisted locally first, ensuring instant UI updates with zero latency, even without an internet connection.
🔄 Robust Sync Strategy
A powerful synchronization engine ensures data consistency between local and remote sources using state flags:
pendingSync→ Data waiting to be syncedisFailed→ Sync failed after retriespendingDelete→ Soft-deleted items awaiting server confirmation
🧠 MVI Architecture
Implements a clean unidirectional data flow using shared ViewModels across Android and iOS for predictable state handling and easier debugging.
✨ Polished UI Animations
Features a premium Typewriter Effect for assistant responses with a custom warm-up phase (1.2s) that prevents historical messages from re-animating.
🏷️ Automatic Session Naming
Intelligently generates chat titles based on the first user message in a conversation.