Cleansafi
Enterprise Android Laundry Management Solution
Order Journey
8 Stages, One Flow
Every laundry order progresses through a carefully designed 8-stage pipeline with real-time status updates and push notifications.
1. Placed
Order created
2. Confirmed
Shop accepted
3. Pickup
En route
4. Washing
In progress
5. Drying
Air/tumble
6. Ironing
Pressing
7. Ready
Awaiting pickup
8. Delivered
Complete
Interface
App Screens
Home
Order
Cart
M-PESA Payment
Checkout
Order History
Payment Flow
Profile Overview
The Problem & Solution
Cleansafi revolutionizes the traditional laundry experience through a comprehensive Android application that connects customers with professional laundry services. The app streamlines the entire process from pickup scheduling to payment processing.
Built for a prominent laundromat chain, Cleansafi handles real-time order tracking, geolocation-based services, and integrated payment processing, serving over 1000+ active users with consistent 4.2-star ratings on the Play Store.
Impact
Results & Metrics
Active Users
Play Store Rating
Revenue Increase
Customer Retention
The app transformed the client's business operations, reducing manual order processing by 80% and increasing customer satisfaction scores.
Technical
Architecture & Stack
Architecture Pattern
MVVM with Repository Pattern for clean separation of concerns and improved testability.
- View Layer: Activities & Fragments with Data Binding
- ViewModel: UI logic and state management
- Repository: Data access abstraction layer
- Model: Domain entities and business logic
Technology Stack
Features
Core Implementation
Real-time Order Tracking
Customers track their laundry orders in real-time from pickup to delivery, with automatic status updates and push notifications.
- Firebase Realtime Database for live status synchronization
- Kotlin Coroutines for asynchronous data operations
- Custom notification system with Firebase Cloud Messaging
Smart Pickup Scheduling
Intelligent scheduling with geofencing for route optimization and accurate time estimates.
- Google Maps API for address validation
- Geofencing for location-based notifications
- Custom route optimization algorithms
Integrated Payments (M-Pesa)
Seamless payment processing supporting mobile money integration for the Kenyan market.
- M-Pesa API with secure transaction handling
- Kotlin sealed classes for payment state management
- Transaction history with local Room caching
Challenges
Problems Solved
Offline Functionality
Users needed access to order history and basic features without internet connectivity.
Solution: Room database for local persistence with WorkManager for automatic background sync when connectivity restored.
Performance on Low-end Devices
Large image uploads and map rendering caused bottlenecks on lower-end devices.
Solution: Image compression, lazy loading with Glide, and map clustering for improved performance across all device tiers.
Takeaways
Key Learnings
- Kotlin Coroutines — mastered advanced patterns for complex async operations, improving app responsiveness by 60%.
- Firebase Optimization — optimized Firestore queries and efficient data modeling for real-time applications.
- Location Services — battery-efficient location tracking and geofencing implementations.
- Payment Integration — successfully integrated local M-Pesa payment system while maintaining international coding standards.
Need a similar solution?
I build production-grade Android apps that solve real business problems.