SwahiLib is a beautifully crafted Android app that lets users explore and search through a rich collection of Swahili words, idioms, sayings, and proverbs, with support for offline access, clean UI, and real-time updates.
This version is built using Jetpack Compose, Room, Hilt, and backed by Supabase for remote data.
🔗 iOS Version Repo: @SiroDaves/SwahiLib-iOS
![]() |
![]() |
![]() |
-
🔍 Search for Swahili words, idioms, sayings, and proverbs
-
📘 View details by tapping on any result
- See synonyms for words and proverbs where available
-
💾 Offline-first support using Room Database
-
💉 Dependency injection powered by Hilt
-
💫 Smooth animations with Lottie
-
⚡ Uses Supabase + Ktor for fast backend communication
- Jetpack Compose (Material 3, Navigation, LiveData, Previews)
- Hilt for Dependency Injection
- Room for local database
- Kotlinx Serialization
- Jan Tennert’s Supabase Kotlin Client
- Retrofit & Ktor for HTTP networking
- Lottie Compose for animations
git clone https://github.com/SiroDaves/SwahiLib-Android.git
cd SwahiLibLib-AndroidCreate a .env file at the root of the project by copying the template:
cp .env.example .envUpdate the .env file with your actual Supabase credentials (URL, API key, etc.)
Open the project in the latest version of Android Studio (Giraffe or later recommended for best Jetpack Compose support).
The app uses Gradle version catalogs for dependencies. Android Studio should sync and resolve everything automatically. If not, run:
./gradlew clean buildOr use Sync Project with Gradle Files in the IDE.
Connect a physical Android device or use an emulator, then click Run or press:
Shift + F10
- The app syncs content from Supabase and stores it in Room for offline usage.
- Data updates are triggered automatically via ViewModel logic.
- All dependencies are managed using libs.versions.toml for cleaner and centralized version control.
| Category | Library |
|---|---|
| UI | Jetpack Compose (Material2 & Material3) |
| DI | Hilt |
| Database | Room |
| Animations | Lottie Compose |
| Supabase Integration | Supabase Kotlin (PostgREST) |
| Networking | Ktor, Retrofit, OkHttp |
| Serialization | kotlinx.serialization.json |
This project is open-source and available under the MIT License.


