AQUAPING Architecture

Overview

Two-component system: 1. Relay (relay/server.py) — bridges BlueBubbles REST API to a lightweight TCP/JSON protocol over Tailscale. It can run on the Mac beside BlueBubbles or on Pi4 as a stable front door to a Mac backend. Port 9876. 2. Client (client.py) — runs on the RG40XXV. PyGame TUI, 640×480, iMessage aesthetic. Communicates with an ordered relay list over TCP.

Data Flow

Load chats

RG client
  → TCP: {"action":"list_chats","limit":100}
  → Pi4 front-door relay, then Mac fallback relay if needed
  → POST /api/v1/chat/query (BlueBubbles)
  → Returns list of {guid, name, last_text, participants}
  → JSON over TCP back to client