Laravel back-ends that never blink · ESP32 firmware that never sleeps · Solar systems that pay for themselves · AI that actually ships
| About | Tech Stack | Services | Capabilities | Projects | Hardware Parts | Open Source |
| Activity | Analytics | Achievements | Roadmap | Now | Contact |
|
I build systems where software meets electricity. My work sits at the intersection of three worlds that rarely talk to each other: production-grade web engineering, embedded firmware, and renewable energy. A typical week involves shipping a Laravel API in the morning, flashing an ESP32 that reports inverter registers over MQTT in the afternoon, and tuning a forecasting model that decides when the battery should charge. I care about the unglamorous parts — reconnect logic, watchdogs, migrations that run cleanly at 3 AM, dashboards that stay honest when the grid drops. Hardware is unforgiving, and that discipline has made my web code considerably better. What I actually do, day to day
|
|
| Skill | Level | Depth | Applied to |
|---|---|---|---|
| Laravel / PHP | █████████████████░░░ |
95% | CRM platforms, telemetry APIs, billing |
| ESP32 / Embedded C++ | ████████████████░░░░ |
92% | Sensor nodes, inverter bridges, OTA fleets |
| MQTT / Modbus | ████████████████░░░░ |
92% | Device fleets, RS485 register maps |
| Home Assistant | ███████████████░░░░░ |
90% | Custom integrations, energy dashboards |
| Linux / Docker | ███████████████░░░░░ |
90% | Edge hosts, compose stacks, CI runners |
| Vue / Tailwind | ██████████████░░░░░░ |
88% | Realtime dashboards, admin panels |
| Python | ██████████████░░░░░░ |
87% | Bridges, ETL, forecasting, tooling |
| Solar / Power Systems | ██████████████░░░░░░ |
86% | Hybrid inverters, MPPT, BMS integration |
| AI / ML Engineering | █████████████░░░░░░░ |
80% | Forecasting, anomaly detection, LLM tooling |
| Trading Systems | ████████████░░░░░░░░ |
78% | Market feeds, backtests, risk engines |
| Phase | What happens | Typical output |
|---|---|---|
| 1 · Discovery | Site survey, register maps, existing schema, real constraints | Written scope + risk list |
| 2 · Architecture | Data model, protocol choice, topic design, deployment topology | Diagram + decision record |
| 3 · Build | Iterative delivery in short slices, demoable every week | Running system in staging |
| 4 · Hardening | Failure injection, reconnect logic, watchdogs, load tests | Test report + runbook |
| 5 · Handover | Documentation, dashboards, alerting, training | Repo + runbook + walkthrough |
| 6 · Support | Monitoring, tuning, incremental features | SLA-backed maintenance |
More projects worth a look
| Project | What it does | Stack | Status |
|---|---|---|---|
| Inverter Register Atlas | Community-maintained register maps for hybrid inverters, published as versioned data files | YAML Python |
Maintained |
| MQTT Sentinel | Broker-side watchdog that detects silent devices and stale retained topics | Python Docker |
Production |
| Tariff Optimiser | Computes the cheapest charge/discharge schedule from a tariff plan and forecast | Python FastAPI |
Beta |
| Blade UI Kit (Neon) | Dark, glassy Blade + Tailwind components used across the dashboards | Laravel Tailwind |
Maintained |
| Pulse Meter Node | Firmware for gas/water pulse meters with debounce tuning and offline buffering | C++ ESP32 |
Production |
| Grafana Energy Pack | Ready-made dashboards for PV, battery and grid metrics from InfluxDB | Grafana Flux |
Maintained |
| Docker Edge Stack | Compose stack: Mosquitto, InfluxDB, Grafana, Node-RED, hardened defaults | Docker Linux |
Maintained |
| LLM Ops Assistant | Retrieval assistant over runbooks and device documentation | Python LLM |
Experimental |
Free to use with credit (CC BY 4.0). New parts are added to the same repository as they are made.
Heads up — the panels under
metrics/and the snake artwork are produced by the two GitHub Actions in this repository. They appear a couple of minutes after the first successful run. Seesetup-guide.md.
| Milestone | Detail | Why it mattered |
|---|---|---|
| First device online | An ESP32 publishing temperature to a broker on a breadboard | Proved the whole pipeline could be understood end to end |
| Register map cracked | Reverse-engineered a hybrid inverter's Modbus map from packet captures | Unlocked every project that followed |
| Zero-touch fleet | OTA rollout across field devices with automatic rollback | No more driving to sites for a firmware bug |
| Sub-second dashboard | Replaced polling with WebSockets across the energy stack | Operators started trusting the numbers |
| Forecast in production | Yield prediction driving real battery scheduling decisions | AI stopped being a demo and started saving money |
| Multi-tenant launch | CRM serving multiple installers with isolated data and billing | Turned a one-off tool into a product |
| Open-sourced the bridge | Published the inverter bridge with documentation | Other people's inverters started appearing in the issue tracker |
| Phase | Theme | Deliverables | Progress |
|---|---|---|---|
| Q1 | Telemetry Foundation Bridges, brokers, retention |
Inverter register atlas v2 Hardened MQTT topology InfluxDB retention policies |
████████████████████Complete |
| Q2 | Realtime Layer WebSockets, dashboards |
Energy Command Center v1 Mobile-first Lovelace views Grafana energy pack |
████████████████████Complete |
| Q3 | Intelligence Forecasting, optimisation |
Yield & load forecasting Tariff-aware battery scheduler Anomaly detection alerts |
██████████████░░░░░░In progress · 70% |
| Q4 | Scale & Fleet Multi-site, OTA, RBAC |
Fleet management console Signed OTA channels Per-site roles and reporting |
████████░░░░░░░░░░░░Started · 40% |
| Next | Edge AI On-device inference |
TinyML fault classification Local LLM ops assistant Offline-first decisioning |
███░░░░░░░░░░░░░░░░░Research · 15% |
|
|
| Topic | Progress | Why |
|---|---|---|
| Rust for embedded | ████████░░░░░░░░░░░░ 40% |
Memory safety on constrained targets |
| TinyML / edge inference | ██████░░░░░░░░░░░░░░ 30% |
Decisions that survive an offline gateway |
| Kubernetes at the edge | ██████████░░░░░░░░░░ 50% |
Fleet-scale deployment beyond compose |
| Power systems theory | ████████████░░░░░░░░ 60% |
Better decisions about real electrical loads |
| Retrieval-augmented LLMs | █████████████░░░░░░░ 65% |
Assistants grounded in actual runbooks |
| Time-series forecasting | ██████████████░░░░░░ 70% |
Yield and load prediction that holds up |
|
|
| Editor VS Code & PhpStorm |
Shell bash + tmux |
OS Linux, always |
Theme Dark, obviously |
|
Everything I open-source is free and stays free. If something here saved you a weekend of reverse engineering, the most useful things you can do are:
|
|
Solar telemetry that will not drop out. A Laravel platform that scales past
the pilot. Firmware you can update without a ladder.
If that sounds like your problem, I would like to hear about it.
|
electroiot.in |
@electroiot |
hello@electroiot.in |
repositories |
| Good fit | Response time |
|---|---|
| Solar / BMS telemetry integrations | Within 2 business days |
| Laravel platform build or rescue | Within 2 business days |
| ESP32 firmware and fleet OTA | Within 2 business days |
| Realtime dashboards and analytics | Within 2 business days |
| Open-source issue on my repositories | Usually within a week |
If you build something with any of this, tell me about it.
Good systems are quiet — that is the whole goal.







