Greenely - Save energy
Mobile energy management
Location
Cluj-Napoca
Feb 2025 - Present
Industry
Energy
Downloads
100.000+
Rating
4.2⭐️
Challenge
The existing Android app was built on legacy architecture with XML layouts,
fragmented codebases, and tightly coupled components. Key challenges included:
• Outdated UI layer: XML-based views with complex fragment navigation made
feature development slow and error-prone.
• Scalability issues: Monolithic architecture lacked clear separation between
data, domain, and presentation layers, making testing and maintenance difficult.
• Multi-market expansion: Supporting Finland required extensive localization,
currency handling (SEK/EUR), and market-specific feature flags without
duplicating code.
• IoT complexity: Integrating diverse smart devices (EV chargers, batteries,
solar panels, heating systems, weather stations) required real-time WebSocket
connections and device-specific UI states.
• Hardware provisioning: SaveEye smart meter onboarding required complex
Bluetooth LE scanning, WiFi configuration, and real-time data synchronization
with robust error recovery.
• Performance issues: Dashboard loading times were slow, with visible flickering,
race conditions, and stability issues affecting user experience.
• Code quality gaps: No consistent linting, limited test coverage, and manual
deployment processes slowed down the development cycle.
Results
• Dashboard 2.0 delivered: Complete migration from XML to Jetpack Compose with Clean Architecture, reducing load times and improving code maintainability.
• Finland market launched: Multi-language support, currency adaptations, and feature flags enabled seamless expansion to a new market.
• 6+ smart device integrations: EV chargers (ChargeBox, Zaptec), solar panels, batteries (Pixii, Emulate), heating systems (MyUplink), and weather stations connected with real-time monitoring.
• SaveEye onboarding completed: End-to-end Bluetooth LE and WiFi provisioning with QR code pairing, automatic retries, and real-time data sync.
• Real-time spot price charts: Interactive Vico 2.1.3 charts with 15-minute intervals, landscape mode, and persistent marker states for energy analysis.
• App stability improved: Baseline profiles, Compose optimizations, and crash fixes via Crashlytics reduced critical issues and improved performance.
• Modular architecture established: Feature modules (dashboard, facility, solar-panel-details, saveeye-onboarding) with clear layer separation (public, ui, impl-wire).
• Code quality standards: ktlint, git hooks, and automated code review processes implemented across the codebase.
• CI/CD enhanced: Bitrise pipeline with Firebase App Distribution, GitHub Packages migration, and Kotlin 2.1.10 with K2 compiler upgrade.
• Analytics integrated: Mixpanel, Firebase Analytics, AppsFlyer, and Intercom for comprehensive user journey tracking and product insights.















