CleanTechIoT

ONenergy Mobile

Built and delivered a React Native mobile app that gives homeowners real-time visibility into household electricity consumption at individual appliance level, powered by IoT sensors with live updates.

Full Stack Engineer2-person team7 mosMobile
The Challenge

Homeowners had no visibility into how individual appliances contributed to their electricity bill until the monthly statement arrived. The IoT hardware produced sensor readings every 2 seconds per appliance across up to 119 appliances per household, and the mobile client had to present this live data clearly without overwhelming the user or degrading device performance. I was responsible for delivering the full mobile application from initial planning through Play Store release.

Homeowners only discovered they had overspent on electricity when the bill arrived at the end of the month.

What I Did

Owned the full mobile development lifecycle as the primary React Native developer, from breaking down business requirements and system design through to production deployment and client handover.

Designed full mobile architecture

Defined component boundaries, state management approach, and data flow using Expo, Zustand, and REST API integration to keep the codebase consistent and maintainable as the product grew.

Implemented secure authentication

Built the authentication layer using Expo Secure Store before any screens were developed, ensuring token storage and session handling worked consistently across the entire app.

Integrated live IoT appliance data

Connected the app to REST API endpoints for live appliance consumption data, handling loading states, error recovery, and refresh timing to keep the UI accurate under varying network conditions.

Built energy consumption visualization

Built interactive charts showing real-time and historical electricity consumption per appliance, balancing data accuracy with rendering performance.

Resolved rendering performance under high-frequency updates

Diagnosed and fixed rendering bottlenecks from frequent sensor updates, optimizing how and when components re-rendered to keep the UI smooth and responsive.

Led cross-functional collaboration across design and product

Translated UI designs into production mobile interfaces and worked with business analysts and the product manager to break down client feedback into clear development tasks.

Owned build pipeline, release, and client handover

Configured EAS Build for Android with automated signing and versioning, wrote deployment documentation, and supported the client team through setup and production issue resolution.

Results

600+

Households Monitored

Active households with real-time appliance-level monitoring at launch

2s

Live Update Interval

IoT sensor readings refreshed per appliance across all households

119

Appliances Tracked

Per household via IoT sensors across the monitoring system

Optimized

Rendering Performance

Fixed rendering bottlenecks from high-frequency IoT sensor updates

Visuals
What I Learned
  • 1

    Early architecture decisions determine how the product scales. Defining structure early meant every new feature fit naturally into the existing codebase without revisiting core decisions as the product grew.

  • 2

    Auth state is an architecture decision, not an afterthought. Handling session management in one place kept individual screens focused on their own responsibilities without repeating authentication logic.

  • 3

    Clarifying requirements early keeps the team building the right thing. Resolving client feedback with business analysts before development started prevented features from being built in the wrong direction.

  • 4

    High-frequency data requires a deliberate rendering strategy. How often and when the UI updates directly affects whether the app feels responsive or starts to slow down under frequent sensor updates.