Here is one way to set up an interactive Chore Chart in Dakboard that can looking something like this, where green is the current week’s active money earned tally and white last week’s total:
*Note - I’m using an Amazon Fire Tablet mounted to the refrigerator with this wall mount secured with mounting tape
Setup Todist
1) Create a Todoist account. You can do this with the free version, so no need to upgrade.
2) Create a “Project” for each of your kids (i.e. “Jane Chores”, “John Chores”)
3) Within each “Project” create the set of chores for your child as individual “Tasks” (i.e. “Unload/Load the Dishwasher”). A key in doing this is how you set up the recurrence of the task. You can do so by simply indicating the recurrence in text after the task description and it will automatically create the recurrence for you (i.e. “Unload/Load the Dishwasher every day”, “Clean the downstairs toilet every Saturday”, “ Vacuum the air filters every four Sundays”). By setting the correct recurrence, you can ensure that the tasks will reappear on the chore list on the correct day after they’ve been checked off.
4) Back in the main Todoist menu, go to “Filters and Labels.” Select the “+” icon to add a new filter. Name the filter “[Your Child’s Name] Today” (i.e. “Jane Today”). In the “Filter Query” box, enter the following code below (the purpose of this filter is to create a consolidated daily list of only the chores you want to display in Dakboard for the current day rather than displaying the full list, some of which won’t be applicable for that day if they don’t happen daily).
(today | overdue) & ##[Your Child’s Name] Chores
For example: (today | overdue) & ##Jane Chores
5) Go to Settings/Integrations and set up the IFTTT integration (only necessary if you want to add the money tracking to Dakboard)
Setup a Dakboard Todoist List Block
1) Go to Dakboard and create a new screen
2) On your new screen, select “Add a Block”, go to “Todo” menu, select “Todoist”
3) Click the “edit” button on your new Todoist block. Under “Todoist Account,” if you haven’t already linked your account, select “Link New Account,” otherwise select your account from the dropdown list. Under “List Name” scroll down to “Filters” and select the filtered list for your child where it is listing only their daily chores. Under “Allow Completing” check the box so that the kids can use the touchscreen to check off the chore.
You should now see a block with a list of your child’s chores. If you have multiple children, repeat for each child. When they press the check box next to the chore, it should briefly show as checked and then disappear from the day’s list. The following day, the list will reset and show any new tasks (this is where your recurrence setting is important) as well as any uncompleted “overdue” tasks since we included “overdue” in the filter query code within Todoist.
Make sure the Block Layers list is toggled open on the right side, then click and drag each of the Todoist layers upward, to the top of the listing. If you don’t do this, some of your check boxes may be layered over by nearby blocks and then not register some of your clicks on the check boxes.
If you would like to associate each completed task with allowance money and display that on Dakboard as well, proceed to the steps below.
Setup IFTTT
1) Go to the IFTTT website, ensure the Todoist and Google Sheets services are active on your account, and create a new Applet
2) For the Applet “IF This” trigger, search for “Todoist” and select “New Task Completed.” Select your account from the “Todist Account” menu and select “Any Project” from the “Project to Watch.”
3) For the Applet “Then That” action, search for “Google Sheets” and select “Add Row to Spreadsheet.” Select your Google Sheets account, enter a Spreadsheet name (either one that you’ve already set up or the name of a new one that IFTTT will create for your), make any changes to the Formatted Row (I left mine on the default), enter the Google Drive folder path you desire (I used “Todoist/Completed Tasks/”; note: do not add {{Project}} to your folder path or it will create a separate spreadsheet for each child).
4) Finish the Applet. Now, everytime a task is completed in Todoist, it should create a new row in your designated spreadsheet.
Setup Google Sheets Summary
Buckle up if you don’t use spreadsheets much. This is a bit complex for a novice, but follow the steps and you should be able to reproduce it. I’m sure there are many ways to do these calculations, and mine may not be the most efficient, but I did this the best way I knew how.
1) You should already have a spreadsheet created through IFTTT that is automatically logging a new row for every Todoist task completed. Now, create an additional separate spreadsheet (I named my “Chore Tracker Summary”).
2) Create three sheets within your new “Chore Tracker Summary” spreadsheet named “Raw Data,” “Money Amounts,” and “Summary”
3) In cell A1 in the “Raw Data” you are going to use the IMPORTRANGE() function to bring in the raw data that IFTTT is dropping into the Todist spreadsheet. This recreates the data without messing with the spreadsheet that IFTTT is using. The syntax for this function is IMPORTRANGE(spreadsheet_url, range_string). The spreadsheet URL can be copy and pasted from your IFTTT spreadsheet’s web address when you’re logged into that sheet. The range_string is just a reference to the cells that are populated in the IFTTT spreadsheet. The formula that I used in cell A1 in my “Raw Data” tab looked like this (I anonymized this as an example):
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1s8kF1sgNIwYXwS6ETM5IpZBkw288GQ", "sheet1!A1:E13000")
In the column to the right of your data (for me Column “F”), enter the number “1”. Copy this all the way down the column so every single row in that column has the number “1” in it. You will need this in order to tally up the number of completed tasks for the week for tasks that occur multiple times a week.
In the column two places to the right of your data (for me Column “G”), enter the following formula:
=split(C1,",")
In my case, C1 is the date and time stamp (if yours is in a different column, reference whatever column yours is in). This should produce a month and date in the cell, such as “May 25”. In the column to the right of this (for me Column “H”), it will also produce the second part of the time stamp string (you will not need to use this, so just leave it there). Drag this formula all the way down your spreadsheet so it is in every row. It will display a “#VALUE!” in the cells where IFTTT has not produced any completed tasks yet. This is fine.
In the column four places to the right of your data (for me Column “I”), enter the following formula:
=if(iserror(weeknum(G1))=true,"",weeknum(G1))
This references the Month/Day data you created in Column “G” and creates a blank cell if there is nothing there (i.e. no data imported to that row yet) and spits out the number of the week in rows where there is data. This will be important as we need to know what week number it is in the year when we’re calculating the allowance earned for a week.
Your tab should look something like this:
You are now done with the “Raw Data” tab
4) We’re now going to build the “Money Amounts” tab where the calculations will take place for how much money each child is earning. In cell A1 write “Today’s Date” and in cell A2 write “Today’s Week”. In cell B1 enter the following formula:
=today()
In cell B2 enter the following formula:
=weeknum(B1)
Then, starting in row four, create a table for your first child structured as follows. In A4 write the Todoist Project Name of your first child (make sure you use the exact name being imported in the IFTTT spreadsheet, such as “Jane Chores”). Then create the following headings for your table: B4 “Per Chore”, C4 “This Week Count”, D4 “This Week Money”, E4 “Last Week Count”, F4 “Last Week Money”.
In row five we start entering the data. In A5, copy and paste the exact name of your child’s first chore “Task” as imported into the IFTTT spreadsheet (i.e. “Unload/Load Dishwasher”). In B5, enter the dollar amount you want to pay your child for each of these completed chore tasks. In C5, enter this formula:
=sumproduct(('Raw Data'!$B$1:$B$13000=$A$4)*('Raw Data'!$A$1:$A$13000=$A5)*('Raw Data'!$I$1:$I$13000=$B$2),('Raw Data'!$F$1:$F$13000))
This formula compares all the Raw Data Project Names and filters for the Project Name you entered in cell A4, compares all the Raw Data Task Names and filters for the Task Name you entered in cell A5, compares all the Raw Data week numbers and filters for the current week as calculated in cell B2. It then sums all the number “1” values you entered in Raw Data column F to create a count of the number of times this task has been completed for this specific child in this specific week. Make sure you change the Project Name reference for each child so that it sums only that child’s chores.
In cell D5, we enter this formula:
=C5*B5
This calculates how much the child has earned this week for that task.
In cell E5, we enter a similar formula to the one above for C5, except we’re looking for the previous week, so we have a minus 1 in the week filter:
=sumproduct(('Raw Data'!$B$1:$B$13000=$A$4)*('Raw Data'!$A$1:$A$13000=$A5)*('Raw Data'!$I$1:$I$13000=($B$2-1)),('Raw Data'!$F$1:$F$13000))
In cell F5, we enter this formula:
=E5*B5
This calculates how much the child has earned last week for that task. It should look something like this:
You now repeat this in the following rows for however many individual tasks exist for that child. If you have more than one child, you create another table below your first one for the next child.
You are now done with the “Money Amounts” tab.
8) We’re now going to create the “Summary” tab. In cell A1 write “Name”, in B1 “This Week Allowance”, in C1 “Last Week Allowance”. In cell A2 write the name of your first child, in B1 write a formula like this one that sums up the “This Week Money” amounts for that child from the “Money Amounts” tab:
=sum('Money Amounts'!D5:D9)
In the C1, write a similar formula like this one that sums up the “Last Week Money” amounts for that child from the “Money Amounts” tab (I round up to make it simpler to pay the kids):
=mround(roundup(sum('Money Amounts'!F5:F9),1),0.25)
Your “Summary” tab should look something like this:
You have now completed the Chore Tracker Summary spreadsheet and are ready to pull these values back into Dakboard for display.
Setup a Dakboard Todoist Money Amounts Block
1) Back your new Dakboard screen, select “Add a Block”, go to “Charts, Graphs, & External Data” menu, select “External Data/JSON”.
2) Click the “edit” button on your new Todoist block. In the URL box, we are going to reference our Chore Tracker Summary spreadsheet using the following HTTP request syntax:
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}
The Google Sheets document must be shared properly to allow access. You should check the sharing settings of the Google Sheet and make sure it’s either set to ‘Anyone with the link can view’ or specifically shared with the service account (if using a service account) associated with the API key.
In order to get a spreadsheetId that we can call upon, we’ll need to create an API key through the Google Developers Console. To do that, follow these steps:
a) Go to https://console.developers.google.com/
b) Select “Select a Project” at the top and create a new project (I named mine “Google Sheets”)
c) Scroll to the “APIs and Services” menu and select “Enabled APIs and Services”
d) Click the “+” button “Enable APIs and Services” link at the top
e) Search for the Google Sheets API, select it, and click “Enable”
f) Go back to the main menu, scroll to the “APIs and Services” menu and select “Credentials”
g) Click the “+” button “Create Credentials” link at the top
h) Select “API Key” and copy the key that is generated
Now you are ready to put together the correct link for the URL box in Dakboard. The spreadsheetId will have the following syntax:
{sheet ID}/values/Summary!A2:B4?key={API key}
The sheet ID is just copied from the web address of your Chore Chart Summary sheet. The API Key is copied from the developer console. The cell reference is the cells in your Summary tab that have the data in them. So, here is a full example of the URL reference I entered into the Dakboard URL box (anonymized):
https://sheets.googleapis.com/v4/spreadsheets/1mMbTvtT0L49VHLl22KOGzJ9ZVi/values/Summary!A2:B4?key=AIzaSyZayhBCpjoDlVR4lve3ZWJ9w66l0k
Once you’ve put this into the URL box, Dakboard should auto populate the “Select data points to show on DAKboard” section. Expand the “Values” section, and find the dollar amount data point that you would like to display on the Dakboard.
Repeat this process for the current week money and last week money for each child.
Make sure the Block Layers list is toggled open on the right side, then click and drag each of the Todoist layers upward, to the top of the listing (above the money amount blocks). If you don’t do this, some of your check boxes may be layered over by nearby blocks and then not register some of your clicks on the check boxes.
Phew, you’re done! Congrats. Get your formatting right and watch your kids be newly motivated to do their chores!
Optional - Set Up Permanent Chores with No Specific Due Date
Sometimes you want the ability to assign your kids chores that aren’t part of their regular routine. Maybe one of your kids is covering a chore normally done by a sibling, or maybe you need some extra help. In this case, you don’t want to have chores with specific due dates, you want to be able to have a chore without a due date that will not show up on the tablet summary but will show up in the app whenever you decide to assign it. Most importantly, when that chore is completed, you want it to automatically regenerate so you don’t have to manually recreate it each time your child does an extra chore.
To do this, you’ll need to set up an automation within IFTTT that recreates the chore anytime it is completed. Here’s how you do this:
In the Todoist app, create a label called “permanent” for the chores you want to be permanently available. You can do this by simply typing @permanent next to any chore you’d like to designate as permanent.
In IFTTT, do the following steps:
1) Go to the IFTTT website, create a new Applet
2) For the Applet “IF This” trigger, search for “Todoist” and select “New Task Completed with Label.” Select your account from the “Todist Account” menu, select your child’s specific chore project “Project to Watch”, and select the “permanent” label in the “Label to Watch” drop down.
3) For the Applet “Then That” action, search for “Todoist” and select “Create a Task.” Select your account from the “Todist Account” menu and select your child’s specific chore project “Project and Section” dropdown. In the “Task Content” type this exact content:
{{TaskContent}} @{{Labels}}
Make sure you do not have a space between the @ and the {{Labels}}. Leave the Notes blank, select a faraway end date, and choose whatever priority you’d like (it does not impact the automation). Leave the task description blank
4) Finish the Applet. Now, everytime a task with the @permanent label is completed in Todoist, it should both be recorded in your spreadsheet and be assigned the dollar value and also be regenerated within the child’s project task list so it will be available the next time you’d like to assign it.