The showreel and presentation are in German.
Starting point: five apps for one home
A PV system with battery, wall box, EV, smart-home devices and more vendors: each system has its own app, its own login and its own logic. The result:
- No overall picture. Where is the solar power going right now: house, battery, car or grid?
- Wasted solar power. Surplus is fed into the grid for a few cents instead of charging the car, because you forget to switch the wall box.
- Constant app hopping. Five logins, no connection between the devices.
- No shared, secure control for everyone in the household, including on the go.
The idea: see, decide, control
"I don't want to operate five apps. I want my house to live with the sun."
- See: live energy flow, forecast and statistics for solar, battery, grid, car and boiler.
- Decide: hints instead of rigid automation. The system suggests, the human decides with one tap.
- Control: wall box and smart home from one app, at home on Wi-Fi or securely on the go.
My role as Product Owner
I owned vision, use cases and prioritisation, wrote the acceptance criteria and accepted every feature in the real house. Implementation was done together with Claude Code: architecture proposals, code for backend, cloud, Android and web, automated tests and documentation, in a test-driven style. Approvals before any change to devices or the server stayed with me.
Product decisions and why
- Automation out, hint in. A "plan for tomorrow" overrode users' decisions and confused them. Replaced by a one-tap solar hint: the human stays in control.
- Battery before features. Feedback "my phone battery drains" led to removing the background timer and capping animation. In the background the app does nothing.
- Opt-in instead of spam. Each person turns push notifications on themselves, at most once a day.
- Security vs. convenience. Lights and sockets without fingerprint, wall box and car only signed.
- Less is more. Empty cards hidden, charge target in percent instead of kWh. Every detail comes from real use.
Architecture: the house opens no ports
An agent runs at home and opens the connection outward itself. The firewall stays closed. The cloud provides a REST API, a live stream and sign-in with approved Google accounts. Wall box commands are cryptographically signed (fingerprint on Android, passkey in the browser). The house has the last word: an allow-list of actions, limits and a dry-run mode, so even a compromised cloud can do little.
Verified, not just claimed: SSL Labs grade A+, only ports 80 and 443 open from outside, automated security tests on every change.
What went wrong, and what I learned
- Server locked out. A TLS hardening step disabled all cipher suites. Fixed in 30 minutes via the host's recovery mode. Learning: production changes only with a dry run, checks beforehand and a shared review.
- Shutters silent. The vendor docs said "open/close", the device wanted "on/off". Learning: validate assumptions on the real device, not in the docs.
- Battery drain. A timer kept running in the background. Learning: non-functional requirements belong in every acceptance.
Next step: AI-assisted energy planning
From reacting to planning: based on weather forecast, consumption history, tariffs and appointments, the system should plan days, seasons and a whole year ahead. Learned from version 1: the plan is a proposal that the human approves, never something done over their head.
Target group for the next stage: households, businesses and production sites.