I built an iOS app (FareGate) where opening a distracting app costs 10 reviews from your
own deck — real cards, rendered faithfully, and the grades go back into your collection.
This post is about the desktop half, which lives in your Anki and is open source.
FareGate Bridge (AGPL, add-on code 29632925) pairs desktop Anki with the iPhone app:
Your collection syncs to the phone through your own private cloud space; the phone
renders your actual notes and templates in the gate.
Reviews done at the gate come back as ordinary reviews through Anki’s own scheduler
API — Anki computes the resulting FSRS state, not us. Review history stays intact.
The bridge never edits your cards or media, and card content never appears in logs or
analytics. Source: the AnkiWeb listing links the full tarball, and it’s inspectable
before you run it.
Setup: Tools → Add-ons → Get Add-ons… → 29632925 → restart → Tools → FareGate: Pair
with phone. Tested with Anki 26.5.
The iPhone app has a free tier (one gated app, full sync, forever). I’m the developer —
happy to answer anything about how the bridge works, and bug reports are very welcome.
FareGate is independent — not affiliated with Ankitects, AnKing, or AnkiHub. Anki® is a
registered trademark of Ankitects Pty Ltd.
When loading FareGate Bridge:
Traceback (most recent call last):
File “D:\a\anki\anki\out\installer\build\anki\windows\app\src\app_packages\aqt\addons.py”, line 247, in loadAddons
File “C:\Users\burtt\AppData\Roaming\Anki2\addons21\29632925_init_.py”, line 102, in
from kaisatsu_bridge import pairing, safe_logging, writeback
ModuleNotFoundError: No module named ‘kaisatsu_bridge’
Thanks for the report, and sorry about this — it’s a packaging bug on our side, not anything in your setup.
When Anki installs an add-on from AnkiWeb it puts it in a folder named by its ID (29632925). Our code was importing itself by its development name (kaisatsu_bridge), so the very first line fails in that folder. Everyone who installed from AnkiWeb hit this; installs from a .ankiaddon file land in a folder with the right name, which is why it slipped past our tests.
The fix — rewriting those imports, plus a load test under the AnkiWeb folder name in our release checks — is going into version 1.1.1. I’ll post here the moment it’s on AnkiWeb; then it’s Tools › Add-ons › Check for Updates and a restart.
If you’d rather not wait: download the .ankiaddon file from the FareGate website (the download link on the site the AnkiWeb page points to) and use Tools › Add-ons › Install from file (leave the pre-filled Cloud URL as it is when you pair). That path works today. Remove the AnkiWeb copy first so you don’t end up with two, and when 1.1.1 is live, delete the file copy and install from AnkiWeb again so updates reach you.
1.1.1 is live on AnkiWeb. Tools › Add-ons › Check for Updates, restart Anki, and Tools › FareGate should appear. If it doesn’t, paste the traceback here and I’ll take it from there.
Good news that the add-on loads now, and sorry the next step tripped. That warning means the transfer stopped while the add-on was reading files, and the log deliberately doesn’t say which file (it never records anything from your collection), so I can’t see the cause from here. Two things would help:
Is your Anki media folder (collection.media, inside your Anki2 profile folder) on OneDrive, Dropbox, Google Drive, or another synced or “files on demand” location? That’s the most common reason Windows refuses to read a file that’s listed as present.
Run Tools › FareGate: Sync now once more, then open the status window’s Copy details and paste the WARNING lines that appear just before “sync sequence failed” — they show which stage it was in.
Separately, I’m changing the add-on so a single file it can’t read is skipped and counted instead of stopping the whole transfer, and so the log names the stage and the error code. I’ll post here when that update is on AnkiWeb.
Version 1.1.4 is on AnkiWeb now. Two changes for exactly this case: a media file the add-on can’t read is skipped and counted instead of stopping the whole transfer, and the log line now names the stage and the error code (for example “phase=media” and “errno=13”). It also fixes a case where the iPhone app could stop picking up new snapshots after two desktop syncs in a row. It also stops the completion window from raising an error on the newest Anki. Tools › Add-ons › Check for Updates, restart Anki, then Tools › FareGate: Sync now. If it still stops, paste the WARNING line from Copy details here and I’ll take it from there.