A repository for your personal data, and an extensible analysis engine.
There already exist many apps and fitness trackers that gather and attempt to make sense of your data. Most of these services are isolated - your phone's fitness tracking software knows nothing about your browser's time-tracking extension. Furthermore, each app and service has its own method for downloading data (if they offer raw data at all!), which makes an all-encompassing analysis of life extremely tedious. Heedy offers a self-hosted open-source way to put all of this data together into a single system.
Several existing aggregators already perform many of heedy's functions (see the list here). However, they are all missing one of two critical components:
Heedy currently supports Mac and Linux (including the Raspberry Pi). The server is started from the command-line.
chmod +x ./heedy # Allow execution of file ./heedy # Run heedy
Before setting up Heedy, it is recommended that you have Python >=3.7 with venv support installed, because most heedy plugins use Python! On Ubuntu/PiOS, you just need to install
Heedy itself is very limited in scope. Most of its power comes from plugins that extend its functionality, and integrate with other services. Some plugins worth checking out:
Installing a plugin is as simple as uploading its zip file to heedy.
The first screenshot is of sleep data uploaded by the fitbit plugin. The second is a jupyter notebook enabled by the notebook plugin. The final screenshot shows Heedy's built-in analysis capabilities.
Building heedy requires at least go 1.15 and a recent version of node with at least npm 7.
git clone https://github.com/heedy/heedy cd heedy make
git clone https://github.com/heedy/heedy cd heedy make debug
The debug version uses the assets from the
./assets folder instead of embedding in the executable.
To edit the frontend, you will want to run the following:
This will watch all frontend files and rebuild them as they change, allowing you to edit them and see changes immediately by refreshing your browser.
You can see everything heedy does, including all SQL statements and raw http requests by running it in verbose mode: