Aesculapius began with the idea of talking to the data recorded by my Garmin: an indirect way to listen to my body and understand it better. I wanted to use AI and software to explore training, recovery, sleep and wellbeing in the context of my own days.
Before Aesculapius there was FoxRun, a project still available on my GitHub. It connected to Strava, rather than Garmin Connect, collected my activity data and used it to build an intelligent dashboard for exploring training, performance and trends.
Changes to Strava’s API access conditions brought FoxRun to a halt. I wanted more independence in accessing my activity data and choosing how to use it. That led me to look for another way.
Garmin Connect gave me a richer, more detailed picture of my days, beyond the activities I shared on Strava. Aesculapius became possible thanks to python-garminconnect, the open source library maintained by cyberjunky. I am grateful for the work behind it: it gave me a starting point for accessing my Garmin data and building something around my own needs.
My Garmin records a lot about my days. Training, sleep, recovery and physiological measurements are all there, but I wanted to bring them into one picture and ask questions that start from my own context.
Training is also a way for me to unwind and relax. I want it to be useful and suited to my situation, while leaving room for the pleasure of cycling and running. Finding that balance is part of what I want the assistant to help me explore.
As of October 2026, the project works and I use it occasionally, but it is still experimental. Telegram is its main interface: a chat with an assistant built around my Garmin data. I am still looking for the form of conversation that makes it most useful in everyday life.
The longer-term idea is something like a Jarvis for training: an assistant that can connect my personal data with books and technical sources on running, cycling and sport. I would like that combination to support a more scientific approach, grounded in my own context. Bringing those sources together is a direction I want to develop.
The hardest part has been finding the right interaction: easy, intuitive and natural enough to fit into training. I want the information to stay up to date automatically and the conversation to be useful without becoming another task to manage. Solving that experience matters more to me than adding features; it could eventually make the project useful to other people too.
Self-hosting is part of the idea: I want to own the storage and understand the processing of my personal data. The project is still evolving: I am experimenting, learning from using it and looking for the right balance between data, questions and answers that are actually useful in everyday life.