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!