Flow Ecosystem is a synchronized, multi-device, real-time collaboration suite. It consists of a real-time infinite whiteboard, an integrated PDF annotation engine, and a natively compiled Android application that dynamically tracks and connects to the Whiteboard across local networks.
The ecosystem is divided into three core micro-services:
The heart of the ecosystem. A real-time, infinite canvas whiteboard built on WebSockets.
- Features: Infinite panning, SVGs shapes, sticky notes, real-time synchronization.
- Network Magic: Runs an active mDNS (Bonjour) beacon that broadcasts its presence to the local Wi-Fi subnet, completely eliminating the need for manual IP configuration.
- Tech Stack: Node.js, Express,
ws(WebSockets), Vanilla JS Canvas.
A heavily modified implementation of Mozilla's PDF.js to support seamless whiteboard integration.
- Features: Transparent UI, custom drawing/highlighting capabilities.
- Bypass Mechanics: Content-Security-Policy (CSP) and strict origin checks have been manually stripped to allow real-time cross-origin communication with the Flow Note backend.
- Auto-Sync Engine: Intercepts PDF.js blob generations and automatically pushes physical
PUTrequests back to the Flow Note server in the background.
A native Android Java wrapper designed for aggressive local network discovery.
- Features: Sweeps the local Wi-Fi subnet with a 40-thread threadpool to dynamically hunt down the Flow Note server on Port 3939.
- Tech Stack: Pure Android Java, Gradle 8.5.
To spin up the ecosystem locally:
cd flow_note
npm install
npm startThe whiteboard will run on http://localhost:3939 and begin transmitting its IP via mDNS.
cd flow_pdf
npm install
npm startThe PDF server runs on http://localhost:4040.
Ensure the Android SDK is installed, then:
cd flow_android
./gradlew assembleDebugInstall the resulting .apk via ADB to your device.
Built autonomously by Antigravity.