Building a healthcare app is tough. Building one for pets? Whole different ball game.
When a dog gets sick at 11 PM, panic sets in fast. We wanted to fix this exact nightmare. So we built Conbun, an online vet consultation platform that connects pet owners with licensed veterinarians in just a few minutes.
Here is the quick engineering story behind how we built and scaled our Native Android application.
Why We Picked Native Android (Kotlin First)
We had options. Cross-platform frameworks like Flutter or React Native were tempting for fast MVP launch. But real-time video calls and fast UI responsiveness were non-negotiable for emergency consultations.
So we went 100% Native.
Our core app logic is written in Kotlin, backed by Java where needed. Kotlin Coroutines handles background tasks without clogging UI thread. It saved us from writing messy callback code.
The Tech Stack That Holds It Together
To keep things modular, app is structured using MVVM Architecture with Jetpack components (androidx). Here is what is running under the hood:
Networking & Data Streams: Retrofit 2 paired with OkHttp 3 handles all REST API calls cleanly. We also integrated RxJava alongside Coroutines for handling complex, reactive data streams.
Dependency Injection: We used javax/inject (Dagger / Hilt setup) to manage dependencies properly. Keeps code clean and testable.
Push Notifications & Analytics: Emergency vet alerts need instant delivery. Firebase Cloud Messaging (FCM) handles our push notifications, while Firebase Analytics keeps track of app usage.
Location & Auth: Google Play Services powers location-based vet matching and quick Google Sign-In.
Data Transfer: org/parceler helps us pass complex Kotlin objects between Activities and Fragments without writing heavy boilerplate.
Security & Code Protection: Since app data is sensitive, full ProGuard / R8 obfuscation was enabled to protect our source code from reverse engineering.
Lessons Learned Along the Way
Real-time consultations mean zero tolerance for lag. Handling network requests on slow mobile connections was our biggest headache early on. Combining Retrofit caching with Kotlin Coroutines helped us cut load times significantly.
Also, pet parents aren't thinking about tech when their pet is unwell. Keeping UI dead simple while running complex network calls in background was key.
Check Out Conbun
If you are a pet parent or just curious to see how a native Android telehealth app works in real life, check out our veterinary consultation app Conbun.
We’d love to hear your feedback on the user experience and tech performance! What stack are you guys using for real-time mobile apps? Let's discuss in the comments below.
Top comments (0)