CleanTechIoT

ONenergy Web Platform

Built and led the full-stack web platform for ONenergy, supporting household electricity monitoring, appliance management, and administrative workflows for managing connected households and IoT devices.

Senior Full Stack Engineer5-person team8 mosWeb
The Challenge

Administrators needed a centralized system to manage hundreds of connected households, track IoT device health, and monitor electricity consumption at appliance level. The platform had to support complex household and device management workflows while keeping consumption data accurate and up to date as sensor readings arrived continuously from the field.

Without a centralized platform, administrators had no reliable way to track device issues, manage households, or monitor consumption across hundreds of connected homes.

What I Did

Led the full-stack engineering effort across frontend, backend, infrastructure, and team standards, owning architecture decisions and delivery from initial development through production deployment.

Designed full-stack web architecture

Defined the application structure across Next.js frontend and Express.js backend, establishing component boundaries, API conventions, and data flow patterns that kept the system maintainable as features were added throughout the project.

Built household and appliance management system

Built the backend APIs and frontend workflows for managing households, tracking IoT device health, and maintaining appliance records including category, type, brand, model, and power consumption data across up to 119 appliances per household.

Built electricity consumption monitoring and reporting

Developed household-level energy usage dashboards showing total consumption, cost, and appliance-level breakdown by percentage, with date range filtering and report generation for administrators and homeowners.

Integrated appliance data synchronization

Built the data layer connecting frontend consumption views to backend services receiving IoT sensor data, keeping electricity usage figures accurate and up to date across all household dashboards.

Designed API authentication and access control

Built authentication and role-based access control into the API layer from the start, ensuring homeowners and administrators each accessed only the data and actions relevant to their role.

Managed deployment and production infrastructure

Configured Docker and Nginx for frontend and backend services, set up GitHub Actions for automated deployments across staging and production environments, and resolved production issues to keep the system stable.

Led engineering standards and team practices

Established coding conventions, component patterns, and API design standards across the team, conducted code reviews, and worked with developers to improve code quality and consistency throughout the project.

Results

600+

Households Managed

Households with appliance-level consumption tracking on the platform

119

Appliances per Household

IoT-connected devices monitored and managed per household

Real-time

IoT Data Synchronization

Continuous appliance data synchronized from IoT sensors across all households

Per Household

Consumption Reports

Energy usage reports with appliance-level breakdown and date range filtering

Visuals
What I Learned
  • 1

    System design decisions affect every part of the product. Defining API structure, component boundaries, and data flow at the start shaped how quickly the team could add features and how easy the system was to maintain as it grew.

  • 2

    Engineering standards reduce the cost of collaboration. Establishing consistent patterns for components, API design, and code structure early meant the team spent less time on alignment and more time building as new requirements came in.

  • 3

    IoT data synchronization requires clear ownership boundaries. Keeping the data layer between IoT sensors and the web client well-defined meant consumption data stayed accurate without the frontend needing to account for the complexity of the underlying sensor infrastructure.

  • 4

    Documentation written during development is more reliable. Writing API documentation and deployment guides as features were built produced more accurate references than writing them after the project was complete.