Autoreas Bridge icon: an A monogram crossed by a bridge span
BridgeWindows & Linux desktop
Sync
Autoreas Mobile icon: an A monogram formed by signal arcs
MobileAndroid tablet & phone
Local-first anime workflow

Autoreas Bridge × Mobile

Two apps. One truth. No cloud in between.

You finish an episode on the tablet, tap Cap+ without pausing the player, and the desktop catalog is already right. No note to transcribe, no account, no server: a desktop bridge owns the data, a mobile client keeps working when the network does not, and the two reconcile over your own LAN.

destinations in Bridge
10
idle footprint
~15 MB
cloud services in sync
0
split-screen ready
320dp
How they talk

One tap, four guarantees

Synchronization is the product. Follow a single Cap+ from the tablet to the desktop catalog and back.

Desktoplast_changelog_idLANTablet

The cursor advances in the same transaction as the status write, so a retry is always safe.

Bridge write path
  1. staged write
  2. transactional outbox
  3. changelog row
  4. anime_changed
Active surface
  • POST /api/devices/pair
  • GET /api/animes
  • GET /api/animes/changes
  • POST /api/sync/reconcile
  • GET /api/status
  • GET /api/seasons/active
  • WS /ws
Realtime events
  • sync_required
  • anime_changed
  • anime_created
  • anime_deleted
  • preferences_changed
  • season_changed
The pair

One catalog, two very different jobs

Bridge owns the data and does the heavy lifting. Mobile does exactly one thing well, in half a screen, with one hand.

Autoreas Bridge icon: an A monogram crossed by a bridge span

Autoreas Bridge

Windows & Linux desktop

The catalog, the downloader, the season workshop and the notification center, opening straight on today.

  • Go
  • Wails v2
  • SQLite
  • React
  • React Router 7
  • Zustand 5
  • Vite
  • Tailwind
  • HeroUI
View source
Today: the screen Bridge opens on. Weekday tabs, the Season/Daily toggle, and the counters one click away.
  • It opens on today

    Bridge lands on the current weekday with the episode counters already there, so what you opened it for is on screen. It is the sole owner of the catalog, the schedule and your progress, all of it in one embedded SQLite database you can export and re-import whole.

  • Downloads that check reality

    Pick the time and the weekdays it runs, start a check yourself, or search one anime and pull every episode it is missing. Every run compares the highest episode published online against the video files on disk, then enqueues the links into JDownloader in your own hoster order.

  • The notification center remembers for you

    A moment worth acting on is committed to disk before any toast is attempted, so it is still waiting hours later. Each record carries the buttons its own outcome earned: open the run, retry the anime that failed, download the season title still waiting.

  • Every transaction leaves a record

    The Activity screen captures every HTTP transaction and runtime event between the mobile clients and the bridge, and both feeds are stored. Bridge also ships an MCP server that resolves a correlation id into a full request-and-event timeline.

The schedule, the days it runs, and every past run with what it actually did
Editor: metadata and schedule in one workspace
Activity: any transaction opened to its request and its response
The notification centre: a finished run still holding the button each episode earned
Notification Center
A record is
  • read
  • archived
  • still asking
Kinds of record
11
Activity
Tabs
  • Overview
  • Transactions
  • Runtime Events
Captured per transaction
  • route
  • outcome
  • status code
  • latency
Filters
4
Autoreas Mobile icon: an A monogram formed by signal arcs

Autoreas Mobile

Android tablet & phone

The remote control for your catalog, sized for the half of the screen the player is not using.

  • Expo SDK 55
  • React Native
  • Expo Router
  • expo-sqlite
  • Drizzle
  • React Query
  • HeroUI Native
View source
Split-screen at its real width: weekday tabs, three counters, and Cap− / Cap+ at thumb distance. The three taps already saved on the device retry themselves when the Bridge answers.
  • Built for split-screen

    The real posture is player on the left, Autoreas on the right, one hand. The layout is verified at that width: zero horizontal scroll, badges that wrap, and a day rail that keeps every weekday and premiere group one tap away.

  • Cap+ is always one tap

    Increment and decrement live on the card itself. Hit 12/12 and the same transaction flips the anime to Finished, so it leaves the Watching list instantly.

  • Offline first, literally

    Every mutation is a local SQLite transaction; the network happens later, in the background. Connection config is written synchronously to disk, so a killed app reopens straight onto your animes in milliseconds.

  • Sync that survives the background

    Android kills background work aggressively, so Mobile runs an explicit foreground service with a persistent notification. A cycle runs every fifteen minutes, and every request inside it is bounded, so a Bridge that stops answering can never hold one open.

The paired Bridge, and the panel that turns "it is syncing" into a claim you can check.
Sync status
The settings panel reports
  • mode
  • registration
  • last attempt
  • last success
  • confirmed operations
  • pending backlog
When things break

The interesting part is the failure path

Anything can claim to sync on a good day. These are the answers for the bad ones.

  • The internet goes down, or the Bridge is off

    Nothing changes: both apps talk over your own LAN. With the Bridge off, Mobile keeps writing to its own database, and the pending log drains automatically the moment it answers again.

  • You edit the same anime on both devices

    An edit written against a stale value comes back as a conflict on that one operation, while the rest of the batch still lands.

    Merge protocol
    1. Bridge returns the version token with each applied operation
    2. Mobile replays that token on the next edit
    3. The changelog names the fields that moved

    20whitelisted fields, merged one by one

  • You delete an episode file by hand

    The next download run re-derives the count from the filesystem and downloads it again. The disk is the only source of truth for what exists.

  • Android decides to kill the app

    Nothing in flight is lost: config and pending operations are already on disk. Sync itself survives on a foreground service with a persistent notification, and the settings panel lets you verify that.

  • The scheduled run fails at three in the morning

    Bridge writes the record to disk before it attempts any toast, so the Notification Center still holds it in the morning. Every anime it touched carries the verb its own outcome earned: retry the one that failed, copy the links a downed hoster left behind, open the one missing metadata.

  • Bridge was closed on a day it was scheduled to run

    The missed day waits in the center with the two buttons that close it: run it now, or ignore it. Both are persisted intent tokens, so they still work after a restart. Run now settles the day once the run actually succeeds, and a failed attempt leaves it open with the next notice reporting how that one went.

Downloads

Two installs, no store in between

Both apps publish their artifacts straight from a tagged release, with a per-platform checksum file beside them. Pick the one your machine runs.

Autoreas Bridge

v1.9.0All releases
  • Windows (x64)NSIS installerautoreas-bridge-1.9.0-windows-amd64-installer.exe
    Download
  • Debian & Ubuntu (x64)Package that declares its own GTK and WebKit dependenciesautoreas-bridge-1.9.0-linux-amd64.deb
    Download
  • Other Linux (x64)Portable binary in a tarballautoreas-bridge-1.9.0-linux-amd64.tar.gz
    Download

Starts in the tray and opens on today. The database lives outside the install directory, so an update never touches your catalog.

Autoreas Mobile

v1.0.1All releases
  • AndroidSideload APKautoreas-mobile-1.0.1-android.apk
    Download

Not on Play Store: allow installation from unknown sources once, and the APK installs like any other app.

Every release ships a SHA256SUMS file for each platform. Check the artifact against it before you run it: sha256sum -c on Linux, Get-FileHash on Windows.

Get started

Paired in under a minute

  1. Run Bridge on the PC that stores your episodes. It starts in the tray and opens on today.

  2. Open Devices and let it render a one-shot QR for your local network, with a copyable token as manual fallback.

  3. Scan it from Autoreas Mobile. The versioned autoreas-mobile://pair?v=1 deep link fills IP, port and token, and the first sync starts on its own.

Devices: LAN address, one-shot QR and token blurred for publication.

Or build it yourself

Both apps build from source with the same commands the project itself uses.

  • Autoreas BridgeGo 1.27+ · Bun · Wails CLI
    git clone https://github.com/Disble/autoreas-bridgecd autoreas-bridgewails build
  • Autoreas MobileBun · EAS CLI 18.5+ · Expo account
    git clone https://github.com/Disble/autoreas-mobilecd autoreas-mobilebun installbunx eas-cli build --platform android --profile preview