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.

Telegram / Private dashboard↓Flask · assistant and application logic↓SQLite state / integration adapters↓Calendars · wearable data · media

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 ↗