Android-powered AI bridge

Gemini from your desktop. Credentials on your phone.

A cross-platform BLE workflow where macOS, Windows, and Linux clients send prompts, screenshots, clipboard content, images, PDFs, and local context to an Android device running Gemini.

Bluetooth Low Energy Android bridge Python desktop Gemini API Multi-client routing
DESKTOP CLIENT

Screenshot + PDF context sent over BLE

STREAMED RESPONSE

Answer returned to the correct desktop session.

Android bridge

BLE servicelive
Gemini keylocal
Clients3
Streamingon

Built around a different AI workflow

The phone owns the model connection. The desktop owns the interaction layer. BLE is the local bridge between them.

K

API-key isolation

Gemini credentials stay on Android instead of being copied into every desktop environment.

M

Multimodal input

Send typed prompts, screenshots, clipboard content, images, PDFs, and local context through one channel.

R

Multi-client routing

Several desktop clients can connect to one Android bridge and receive the correct streamed response.

O

Overlay workflow

Global shortcuts, tray/menu bar behavior, and overlay answers keep the workflow fast and low-friction.

P

PDF context

Local PDF extraction and chunk retrieval let the client send relevant context without a cloud backend.

B

BLE protocol

Custom binary framing, chunking, compression, heartbeat, and reconnect logic make BLE practical for large prompts.

Architecture

A small local system: desktop clients talk to Android over BLE, Android talks to Gemini, and responses stream back to the requesting client.

macOS / Windows / LinuxDesktop client

Prompt, screenshot, image, PDF, clipboard, overlay UI.

Bluetooth Low EnergyCustom transport

GATT, framing, chunking, heartbeat, reconnect, routing IDs.

AndroidGemini bridge

API key storage, model discovery, streaming requests, queueing.

Technical stack

A prototype that crosses product, mobile, desktop, transport protocols, and AI APIs.

PythonBleakTkinterpypdfPillowKotlinAndroid foreground serviceCoroutinesOkHttpBLE GATTGemini APIGitHub Actions