{"id":13625038,"url":"https://github.com/pleonova/data-diary","last_synced_at":"2025-04-16T06:31:40.249Z","repository":{"id":213224745,"uuid":"269273589","full_name":"pleonova/data-diary","owner":"pleonova","description":"My life dashboard - automatically track and visualize your data. Using common tracker APIs to create a minute by minute representation of your day.","archived":false,"fork":false,"pushed_at":"2021-02-25T01:24:46.000Z","size":3009,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-01T22:03:35.669Z","etag":null,"topics":["atimelogger","atimelogger-timetrack","before-and-after","fitbit","fitbit-api","moving-average","quantified-self","rescue-time","welch-t-test"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pleonova.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-04T06:00:05.000Z","updated_at":"2024-06-29T01:20:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"89571cec-d539-41a5-8012-be23b15dec55","html_url":"https://github.com/pleonova/data-diary","commit_stats":null,"previous_names":["pleonova/data-diary"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pleonova%2Fdata-diary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pleonova%2Fdata-diary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pleonova%2Fdata-diary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pleonova%2Fdata-diary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pleonova","download_url":"https://codeload.github.com/pleonova/data-diary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223700195,"owners_count":17188265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atimelogger","atimelogger-timetrack","before-and-after","fitbit","fitbit-api","moving-average","quantified-self","rescue-time","welch-t-test"],"created_at":"2024-08-01T21:01:50.143Z","updated_at":"2024-11-08T14:30:19.163Z","avatar_url":"https://github.com/pleonova.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"# My Data Diary\n\n## Goals\n1. Automatically upload data from various sources through APIs (RescueTime, Fitbit, aTimeLogger etc)\n2. Visualize data in an meaningful manner\n3. Change behavior\n4. Maintain a timecapsule of my life\n5. Predict future behavior\n\n\n## Motivation\nI used to actively journal when I was a kid. Those entries are a timecapsule of my life; those memories would have mostly been forgotten had I no record of them. That is the motivation for this project, a more automated and perhaps more objective approach to journaling - for me and for anyone else who wants to use my templates. \n\nI often believe I spent x time on something or didn't do y, but my data can tell me otherwise. It's through the **active** process of revisiting my data and idenitifying anomolies and finding interesting patterns, that I am able to tell a more cohesive story about different periods of my life and perhaps even make some changes in behavior. It's also helped me realize how finite time truly is.\n\n\n## Overview\n- API connection to 3 data streams: Fitbit (Movement and Sleep), RescueTime (Device and Applications) and aTimeLogger (Easy data logging)\n- Data aggregation \n- Helper functions for visualizing data in Python\n- Adaptation of the stacked bar plot for visualizing daily minutes on different activities\n- Lots of charts!\n\n## Related Content\n\n### My Posts\n- June 24, 2020: OpenHumans - Python Code - [RescueTime Integrated Notebook](https://exploratory.openhumans.org/notebook/161/)\n- June 16, 2020: Quantified Self - Show\u0026Tell Slides (*Recording coming soon*) - [Impact Covid-19 sheltering-in-place had on me](https://docs.google.com/presentation/d/18iMgvHUPvdCHqEDE6oVgQ54_x5wOM0_vIWGZxnDz4Yo/edit#slide=id.p)\n- May 16, 2020: My Site - Blog Post - [How has my life changed since shelter-in-place (in charts)?](https://pleonova.github.io/shelter-in-place/)\n- Feb 15, 2020: OpenHumans - Self Research Post - [Where did my time go? Expectations vs Reality](https://forums.openhumans.org/t/where-did-my-time-go-expectations-vs-reality/243)\n- Feb 14, 2020: OpenHumans - Self Research Post - [How do you learn X?](https://forums.openhumans.org/t/how-do-you-learn-x/231)\n- June 10, 2017: Product School/San Jose University - Invited Speaker - [Presentation](https://pleonova.github.io/visualization-tableau/) on [My Data Dashboards in Tableau](https://public.tableau.com/profile/paula#!/)\n\n### Mentions\n- June 29, 2020: Makery - External Article Mention - [Open Source Body: Small data, self-research, open humans](https://www.makery.info/en/2020/06/29/open-source-body-small-data-self-research-open-humans/)\n- June 15, 2020: Tzovar.as - External Blog Mention - [The effects the COVID-19 lockdown had on me](https://tzovar.as/lockdown-effects/)\n\u003cbr /\u003e\u003cbr /\u003e\n*Thank you to those who took a look at my project and found it interesting enough to mention.*\n\n\n## Sample Visualizations\n\n\u003cimg src=\"https://github.com/pleonova/data-diary/blob/master/images/daily_sleep_device_active.png\" width=\"700\"\u003e\nA two week chart of my sleep, device and active time, by the minute.\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003cimg src=\"https://github.com/pleonova/data-diary/blob/master/images/device_daily_rolling_prepost_shelter.png\" width=\"900\"\u003e\nMy screen time before and during the shelter-in-place (total 4 months worth of data).\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003cimg src=\"https://github.com/pleonova/data-diary/blob/master/images/device_distributions.png\" width=\"500\"\u003e\nDifferences between the two time periods.\n\n*Running a Welch's t-test results in a pvalue of .001, meaning I am spent a lot more time on a device during shelter-in-place.*\n\u003cbr/\u003e\n\n## Next Steps\n- [ ] Add a more detailed section in the Readme about the different files\n- [ ] Incorporate heartrate data\n- [ ] Extract GPS data from Google Maps\n- [ ] Clean up helper function files\n- [ ] Append mobile app usage with search history (RescueTime no longer captures website data)\n- [ ] Store data more permanently in a database (postgres)\n- [ ] Move more of data prep steps into a separate .py file\n\n*If anyone has suggestions for the above steps, especially the GPS one, I would greatly appreciate your input!*\n\n## Acknowledgements\nI wanted to speficially thank those who had documented/shared with me their API syntax for extracting data:\n- RescueTime Fitbit API: [markwk/qs_ledger](https://github.com/markwk/qs_ledger/tree/master/rescuetime)\n- Fitbit API: [markwk/qs_ledger](https://github.com/markwk/qs_ledger/tree/master/fitbit) \u0026 [amandasolis/Fitbit](https://github.com/amandasolis/Fitbit/blob/master/1DayFitbit.ipynb)\n- aTimeLogger API: [YujiShen/TimeReport](https://github.com/YujiShen/TimeReport/blob/master/time_api.py)\n\nI also wanted to give a special shout out to [Mad](https://www.openhumans.org/member/madprime/) and [Bastian](https://www.openhumans.org/member/gedankenstuecke/) for creating the [OpenHumans](https://www.openhumans.org/about/) platform, a rich community for self research which served as continued inspiration to keep chipping away at this passion project of mine. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpleonova%2Fdata-diary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpleonova%2Fdata-diary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpleonova%2Fdata-diary/lists"}