The problem
Calendar events, wearable data, training, meals, and notes live in separate places. LifeAgent is my ongoing attempt to make that context useful in one private workspace.
The system
A Flask application serves the dashboard and assistant endpoints. SQLite holds local state; Docker packages the services. Telegram provides conversational access. The private dashboard stays behind authentication; this portfolio exposes selected public content.
Decisions that matter
Calendar changes use a confirmation preview. New media begins private. Uploads can resume. Public images are separate derivatives. Daily caches distinguish dates and do not replace authentication failures with saved pages.
The trade-offs
Running this on my own PC keeps the system understandable and close to its data, but it depends on the machine, network, and third-party providers being available. A failed model call needs an honest failure state.
Where it stands
This is a personal system under active development. The public demo uses a fictional day and browser-only rules; it does not call the private assistant or connect a visitor’s calendar.
Try the idea ↗