Skip to content
MG
IoT monitoring platform · Bettergy

MIOT Sentra

Monitoring for energy installations: controllers and sensors, live readings, year-long charts and energy-saving calculations. Built from scratch by two people and live in under two months.

Next.jsDjangoTimescaleDBTypeScriptTailwindCSS
MIOT Sentra dashboard with installations and device status, client names blurred

The problem

Bettergy's IoT monitoring lived in MIOT Classic, a legacy Django monolith on MongoDB (mongoengine). It had to be replaced by a new platform, Sentra, on a tight deadline.

My role and the team

Two developers, with me leading the technical side while I also supported three colleagues on other projects. The IoT lead studied the requirements; I turned them into an architecture plan (database, stack and a set of Claude Code skills we wrote) to keep quality high at that speed.

Key decisions

  • TimescaleDB hypertables for the sensor time series: a 1-year chart at 15-minute resolution went from ~5 s to under a second.
  • A data model of client → users → installations → devices, where one user can belong to several clients with different roles. I proposed it over a user-first hierarchy, so internal staff run many clients from one account.
  • Energy-saving formulas for pipes, computed from controller and sensor readings.
  • A Next.js frontend over a Django API, learning TimescaleDB in about two weeks while designing the architecture.

Results

Live in month two and still running. 10+ clients and 100+ connected devices (controllers and sensors) in its first six months.

MIOT Sentra charts of sensor readings over time, client data blurred