How to automatically track iPhone usage with Beeminder, IFTTT, and RescueTime

How to automatically track iPhone usage with Beeminder, IFTTT, and RescueTime

This method was created by Apolyton, originally using a Zapier integration. It requires Bee Plus and an ongoing RescueTime Premium plan ($9 / month).

Automatically tracking and reducing the time spent on mobile and desktop device is is a popular QS goal. However, tracking time spent on iPhones is pretty hard: although Apple offers detailed on-device statistics, there is no API to send this information to an app like RescueTime or Beeminder. Consequently, the RescueTime iOS app is somewhat limited in its capability: crucially, you can’t send iPhone usage statistics directly to Beeminder like you can on RescueTime desktop or Android. The following guide is a work-around which uses RescueTime Premium’s alert feature with IFTTT.

Step 1

Sign up to RescueTime online and download the iOS app. Create an IFTTT account. Purchase Bee Plus: this is for the custom goal setting, which is explained later on. Create a manual Do Less goal. The units will be hours of total iPhone screen time; you can set anything else however you like.

Step 2

Go to RescueTime and purchase the premium plan, which is needed for the alerts. Navigate to Goals & Alerts -> Alerts & Notifications. Create a notification for every half hour spent on mobile time. For each alert, write the number of hours in h m format (e.g. 1h 30m) in the custom message field.

Step 3

Go to IFTTT and connect it to Beeminder and RescueTime. Create a new IFTTT action with trigger as RescueTime/“All My Alerts”. You then want to send the description of each alert - our formatted version of the time spent - to your Beeminder goal. The datapoint value in IFTTT is HMS[{{Description}}]. For more information, see here.

Step 4

Finally, go to the settings of your Beeminder goal. Click ‘Convert to Custom’, and change aggregation to ‘max’. This will force Beeminder to count only the maximum time reached for that day, rather than adding up all of the increments that IFTTT sends to the goal (don’t select ‘Last’, as sometimes RescueTime sends two alerts through at once). Optionally, turn off ‘Plot All’ to see only the final datapoints on your graph.

This will now send increments of iPhone screen time to Beeminder via IFTTT and RescueTime. Although sometimes RescueTime takes a while to populate the alerts through, I’ve found that it gets them all eventually. You can also use Zapier, which is more powerful, but not free. Thanks to apolyton for suggesting this to me, and please suggest any improvements or changes to this workflow!

1 Like