4–5 NOVEMBER 2026WEBSITE DEVELOPMENT
The website starts to become a proper front end
Astro, shared navigation and a clearer project structure.
The public-facing site began taking shape as a static Astro project, developed on a Windows PC in VS Code. The aim was to give AgilePi a home that could explain the project and its hardware, software, documentation, diary and energy monitoring without exposing the private machinery behind it.
Shared header and footer components were introduced so navigation and page structure stayed consistent. The site grew to include Home, Project, Hardware, Software, Documentation, Diary, About and Energy pages. There were a few messy moments along the way — broken frontmatter imports, duplicated navigation links, a missing Energy link and an Astro configuration syntax error — but the build was repaired and the static pages generated successfully.
The Energy page then grew into a proper dashboard: live EcoFlow readings, individual PV inputs, total solar generated today, historical solar and power-flow graphs, battery state of charge and confirmed Octopus Agile prices. Household demand needed special care because the legacy `house` field was misleading; the dashboard uses the individual PV, grid and battery contribution fields for its displayed demand calculation, while the coverage of monitored circuits remains something to validate physically.
A local development proxy connected the browser to the two Flask APIs without requiring the APIs to be exposed directly to the public internet. Keeping the public static site separate from private API endpoints, logs, credentials and control functions remains an important release requirement.
The Agile graph was refined more than once. The controller plan was added using the actual per-slot decisions from the latest saved schedule, rather than guessing from prices. The visual treatment was adjusted until the charge and hold decisions could be read alongside the tariff bars without making the graph needlessly busy.
AstroVS CodeEnergy dashboardWebsite