Setup
Do this once per phone. Takes about three minutes.
- Install Scriptable from the App Store (free, by Simon Støvring).
-
In Scriptable, tap + to create a new script, name it exactly
SharedTodo, then tap the Copy Script button below to copy the full script and paste it into that Scriptable script. Save. -
Run the script once (▶ button in Scriptable). On first run it shows a config
alert with three fields — tap each value below to select, then copy and paste:
- URL
https://adampowell.pro/sharedtodo/api
- Bearer token
qunmnq
- User
adamon Adam’s phone ·jennaon Jenna’s.
-
Long-press the home screen → + (top-left) → search
Scriptable → pick a size (small/medium/large or lock-screen
accessory) → Add Widget → pick
SharedTodo. -
Long-press the placed widget → Edit Widget →
Parameter → type a list id (e.g.
groceries), leave blank for the default list, or typeallfor the merged pending-everything view. - Repeat step 4 for each size × list combination you want. Same steps on the other phone with the other user.
Widget parameter
(empty)- first list
all- pending items across every list
<list-id>- a specific list’s UUID (from the in-app list view)
Tap to toggle
On medium/large widgets, tapping a row toggles the todo. The Scriptable app will briefly appear during the toggle — iOS does not allow a deep link to silently dismiss itself. Live with it.
Notes
- Widgets refresh at iOS’s discretion (roughly every 5–15 min). For an instant refresh, tap the widget.
- Offline: widgets display the last successfully fetched state with a “stale” dot.
- Rotate the bearer token by regenerating
SHAREDTODO_BEARER_TOKENin/root/secrets.env, reloadingsharedtodo.service, and re-entering it in Scriptable on both phones.