Beeminder workflow: Tracking flashcards learnt on mobile without desktop sync

Using flashcards is an effective way to learn almost anything, especially when it is used with spaced repetition technique. On mobile platforms, various flashcard apps (e.g., Anki, Flashcards Deluxe, Quizlet) are becoming convenient tools for on-the-go learning demands.

Here, I will describe how to sync flashcard learning metrics with Beeminder— a powerful and ‘merciless’ goal tracker that I have been using to fight my lazy self. There have been workflows using the Anki add-in to sync learning stats, however, you would need a computer for every sync in such workflows. My workflow works permanently on mobile, have been tested on iOS devices, not yet on Android but I suppose it would work with the equivalent app. However, my workflow can only track the number of flashcards learnt daily so it’s not as multi-functional as Anki workflow.

Requirements:

- Flashcards Deluxe app (Paid version: iOS, Android). In my opinion, this app is brilliant with powerful features and less expensive than Anki mobile app on iOS. However, you can get the Lite version to try and have your own verdicts.

- Beeminder account (Free)

- Integromat account (Free)

- Dropbox account (Free)

Set up the workflow:

  1. Open Flashcards Deluxe app, here I will use the freshly installed Lite version as example (the same steps applied for full version). There are some example decks available for us to test. Touch the gear icon to Global Options.
Image for post
Image for post

2. From Global Options, select “Show Advanced Menu”. The Advanced Menu will look like this.

Image for post
Image for post

3. Select “Sync” and then “Dropbox”, which leads to this interface:

Image for post
Image for post

4. Select “Setup”, you will see the interface as below. You can pick either login option, note the location for future integration with Integromat in the next steps. Here I pick the second root folder option as example.

Image for post
Image for post

5. The login form for Dropbox will show up and you need to allow Flashcards Deluxe to gain access to your Dropbox. After successful login, it will return to the Flashcards Deluxe app at the Sync interface as shown in step 3. Select “Setup” again and turn on these recommended settings for full and automatic sync.

Image for post
Image for post

6. Return to previous screen (shown in step 3) and press sync now for first sync (recommended). Close the Options interface to return to the main flashcard decks (in step 1). You’re done with the first stage of the workflow!

1. Go to Integromat website, login and create a new scenario:

Image for post
Image for post

2. Skip on the next interface “What services do you want to integrate?” to start from scratch.

Image for post
Image for post

3. Click on the “?” icon and search for “Dropbox” → “List All Files/Subfolders in a folder”. In the Connection, add your Dropbox account that has synced flashcards. Select options as showed in this capture (NOTE: Folder would be the “_Sync” folder inside the parent folder you selected for syncing from Flashcards Deluxe, refer to step 4 of stage 1). Select “OK” when you’re done.

Image for post
Image for post

4. Hover on the first module to add the next module, then select “Dropbox” → “Download a file”. Select options as shown in the below capture and “OK”.

Image for post
Image for post

5. Select the wrench icon on the link between first and second Dropbox → “Set up a filter”. Enter options as below capture.

Image for post
Image for post

6. Add another module, search for “Text parser” → “Match pattern”. Select options as shown in the below capture. The pattern text is “,(\d{4}-\d{2}-\d{2}) \d{2}:\d{2},” (WITHOUT double quote and there’s NO space). Remember to select “OK” to save your options.

Image for post
Image for post

7. Add new module, search for “Flow control” → “Array aggregator”. Select options as below capture (NOTE: there is only one field box being selected in the Aggregated fields as shown in capture). Press “OK” when done.

Image for post
Image for post

8. Select the wrench icon on the link between Text parser and Array aggregator → “Set up a filter”. Enter options as below capture. The text in ‘Equal to’ is [{{formatDate(now; “YYYY-MM-DD”; “Australia/Canberra”)}}] (WITHOUT square bracket, NO space). NOTE: change the time zone to yours, such as “America/Detroit” or “US/Pacific”. “OK” when done.

Image for post
Image for post

9. Select “Run once” button → “Run anyway”

Image for post
Image for post

10. Add new module, search “Beeminder” → “Create a datapoint”. Connect to your Beeminder account. Select options as shown in below capture. The text in Comment is [{{formatDate(now; “YYYY-MM-DD HH:mm”)}}] (WITHOUT square bracket, NO space). NOTE: in the Goal section, select the Beeminder goal that you want to send flashcard metrics to. Remember to press “OK” when done.

Image for post
Image for post

11. Turn on “Scheduling” (red arrow in the capture). Select options as below capture. NOTE: you can decide the sync time to Beeminder at your preferred time, here I choose to track all flashcards learnt daily by 11 PM. Press “Activate” when done.

Image for post
Image for post

12. Finally, save your scenario by choosing Save icon. All done!!

Image for post
Image for post

Final words

You can try learning something from Flashcards Deluxe → switch to the background to trigger syncing to Dropbox (MUST DO) → check if the workflow works by press “Run once” button from your Integromat scenario.

The tracking metric would be “the number of flashcards learnt daily by 11PM”. ‘Learnt’ here would mean both right and wrong attempts, as long as you swipe (learn) a flashcard, it would be counted as one. Even if you learn one flashcard multiple times in the day, it would only be counted as one.

I’m looking forward to simplifying this workflow and expanding its functions. Also, if we have a way to get Anki learning data from AnkiWeb server, I suppose we can apply the similar workflow for Anki app.

More than happy to hear your thoughts and ideas!!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store