Skip to main content
Photo of Anton ShubinAnton ShubinContact

For Yumetronics · 2024–nowFull-stack (web app + backend + infrastructure)

SmartLite: Real-time IoT control for about 200 lamp poles

Built solo in 3 months; about 200 lamp poles in production since 2024.

What an operator sees

Dashboard

Dashboard

A geographic map of every pole.

Alerts

Failure detection with automatic alerts through PWA push, Telegram and WhatsApp.

Lampboxes

Pole state and sensor readings, live over MQTT.

Gateways

Sensors

Motion and ambient-light triggers.

Schedules

Scheduled automation: by time of day, triggered by a sensor, or by manual override.

Zones

Users

Role-based access and TOTP 2FA.

Regions

Lamp profiles

Admin settings

Profile

View full size

Some details are blacked out in these screenshots.

How a click reaches a pole

  1. Operator web app

    PWA

    An operator clicks, at a desk or in the mobile PWA out in the park.

  2. Backend

    MQTT

    Sends the command to the pole over MQTT, for low-latency control.

  3. Lamp pole

    MQTT

    Acts, then sends its acknowledgement and new state back over MQTT.

  4. Every open dashboard

    LISTEN/NOTIFY

    Shows the change at once: PostgreSQL LISTEN/NOTIFY reaches every connected client, without polling.

What I built

Real-time IoT control platform running in production at Gardens by the Bay, Singapore — about 200 lamp poles managed across the public-facing park, live since 2024 and still under my maintenance. Yumetronics handled the hardware and on-site pole integrations; I built the software side end-to-end: the operator web app, the backend services, the AWS infrastructure, and the deploy pipeline. Three months from kickoff to production, no prior code.

The platform bridges MQTT-driven hardware control with an operator-friendly web dashboard. Pole state, sensor readings, and command acknowledgements flow over MQTT for low-latency control; database changes propagate to connected clients via PostgreSQL LISTEN/NOTIFY for a live multi-user dashboard without polling. Operators see a geographic map of every pole, scheduled automation (time-of-day, sensor-triggered, manual override), motion and ambient-light triggers, failure detection with automatic alerts through PWA push, Telegram, and WhatsApp — plus CSV and Excel exports, charts for incident reporting, role-based access (admin / operator / viewer), TOTP 2FA, and a mobile PWA so on-site staff can act from the field.

The screenshots on this page cover every operator page.

How it is built

  • IoT
  • Real-time
  • Dashboard
  • MQTT
  • WebSockets
  • Leaflet
  • AWS
  • Deno
  • TypeScript
  • PostgreSQL
  • Docker
  • PWA

More client work

All client work

Building something like SmartLite?

  • Five-day refund

    If in the first five days you feel this is not working, tell me and I refund what you paid.