Skip to content

Todoist, RescueTime, Wakatime data wrapper, aims to help you understand what you get done every day, keep track of it, get valuable statistics out of your daily performance, and performing even better on your next day.

josancamon19/productivity-apps-wrapper

Repository files navigation

Productivity apps wrapper

This project aims to be a wrapper for some common productivity apps that I use in my everyday basis. This project is the result of me wanting to find a way for looking at all my productivity data, and having to do it on my own due to the poor integrations made by zapier.com and automate.io.

It aims to help you do understand what you get done every day, keep track of it, get valuable statistics out of your daily performance, and performing even better on your next day.

Apps wrapped

  • Todoist for tasks management

    • Habits project independently
    • Goals project independently
  • RescueTime for passive time tracking

  • Wakatime (IDE's plugin for programming time tracking)

  • Notion as the place where the data of the previous 3 resides.

Tools used

Screenshots 📸

Image Explanation
Main This is the main page wrapping the following next pages shown here below

Day reviews

Habits

Todoist tasks

Database Details
Programming stats Details

Setting up your own instance 🚀

Todoist setup

  • Projects named Goals and one named Habits are required for the Habits and Goals pages respectively, everything else is dynamic.

Notion setup

You need to create a few pages:

Duplicate everything as a Template

Explanation

  1. Day reviews pages (as a calendar)
  2. Projects table with the next columns Projects columns
    • Task as the title
    • Parent project as select
    • Project as select
    • Section as select
    • Tags as multi select
    • Creation Date as Date
    • Completion Date as Date
    • Id as text
  3. Goals Progress Page: Goals columns
    • Task as the title
    • Goal as select (A todoist section)
    • Date Completion as Date
    • Id as number
  4. Habits Page Habits columns
    • Date for the title
    • - Next columns for each habit
    • -Date for setting a Date object
  5. Daily stats Page Daily stats columns
    • Day for the title
    • Pulse Number column
    • Total hours Number column
    • Productive hours Number column
    • Distracting hours Number column
    • Neutral hours Number column
    • SWE hours Number column
    • Learning hours Number column
    • Entertainment hours Number column
    • Productivity % Number column (% formatted)
    • Distracting % Number column (% formatted)
    • Neutral % Number column (% formatted)
    • SWE % Number column (% formatted)
    • Learning % Number column (% formatted)
    • Entertainment % Number column (% formatted)
    • -Date for setting a Date object
    • Id as number
  6. Coding stats Page Habits columns
    • Date for the title
    • Total Seconds with total hours
    • -Date for setting a Date object

Code setup

  1. Install the requirements.txt with pip install -r requirements.txt
  2. Setting your env vars
  1. Update the example.env file and fill it with the variables
    NOTION_API_VERSION=2021-05-13
    NOTION_SECRET=
    NOTION_V2_TOKEN=
    
    TODOIST_TOKEN=
    RESCUETIME_API_KEY=
    WAKATIME_API_KEY=
    
    NOTION_TODOIST_VIEW=
    NOTION_TODOIST_DB=
    NOTION_RESCUETIME_DB=
    NOTION_WAKATIME_DB=
    NOTION_HABITS_DB=
    NOTION_DAY_REVIEWS_DB=
    NOTION_GOALS_VIEW=
    NOTION_GOALS_DB=
    TODOIST_HABITS_PROJECT_ID=2266970739
    TODOIST_GOALS_PROJECT_ID=2254137012
    TODOIST_TOIGNORE_PROJECTS="[2250617044, 2232633941, 2258542988]"
    
    SYNC_SINCE=2021-01-01
    SYNC_TIMEZONE=America/Bogota
    SYNC_EVERY_HOURS=1
    SYNC_DAY_REVIEWS_AT=21:50
  2. Activate env vars with source example.env

Deployment setup

  • Create a heroku account
  • Set billing for the account (you'll spend $0 hosting this application)
  • Create an app
  • Set the Buildpack to heroku/python
  • Add the git remote from heroku
  • Push to the remote

TODOs

  • Integrate Apple Health data (Workouts, Sleep, Steps, etc ...)
  • Page details content as tables instead of \t separated strings

FAQ

About

Todoist, RescueTime, Wakatime data wrapper, aims to help you understand what you get done every day, keep track of it, get valuable statistics out of your daily performance, and performing even better on your next day.

Topics

Resources

Stars

Watchers

Forks