Direct Mobile Document Ingestion to OpenClaw: iOS to Raspberry Pi Health Workflow

A developer on r/openclaw has documented an experimental pattern for pushing documents directly from a mobile iOS client into a local OpenClaw instance running on a Raspberry Pi. The goal is to scan documents like lab results or prescriptions on a phone and have them land in OpenClaw for downstream processing without cloud intermediaries or manual uploads.
Architecture Overview
The system uses a two-layer approach: the phone acts as the capture layer, and OpenClaw serves as the processing layer. The mobile client is designed to be fully local and privacy-preserving, with no cloud dependency and no external AI services. It uses Apple OCR (Vision) and on-device intelligence for extraction and search, keeping raw documents and extracted content on-device unless explicitly pushed to OpenClaw.
Pairing and Configuration
A QR-based pairing flow avoids manual configuration. The QR payload is a base64-encoded JSON blob generated on the OpenClaw machine with this structure:
{ "url": "wss://", "bootstrapToken": "", "hooksToken": "", "agentId": "", "hookPath": "/hooks/rkive" } The hooksToken is stored in iOS Keychain, non-sensitive config is in local storage, and the wss:// URL is converted to https:// for push requests.
Data Flow
The iPhone mobile client sends a POST request to /hooks/rkive with a Bearer token ({hooksToken}) and a JSON payload containing a base64-encoded PDF. This lands on the OpenClaw instance (Raspberry Pi, on local network or VPN), which runs an ingest_rkive.py transform script. This script saves the original PDF to health-records/originals/, upserts an index record to health-records/index.jsonl, and handles chunked assembly and abort cleanup. A dedicated health agent then manages downstream processing: OCR → validation → structured output.
Key Design Decisions
- Dedicated Agent in OpenClaw: A multi-agent setup includes a dedicated health agent responsible for document ingestion, validation, and downstream structuring, keeping health-related workflows isolated.
- Dedicated Endpoint: Using a fixed endpoint like
/hooks/rkiveinstead of dynamic routing viaagentIdensures deterministic routing, avoids accidental misclassification, and simplifies server-side logic.
Downstream Workflow and Open Questions
The downstream workflow is a work in progress. Since Apple OCR is noted as not reliable for 100% accuracy, the plan involves re-extracting text into clean markdown in OpenClaw using the user's trusted AI workflow, followed by a human validation step for content verification, structured extraction into FHIR-style resources, appending into a longitudinal dataset, and providing health insights.
The author poses two open questions for community feedback: 1) Whether this pattern feels useful in practice for regular use versus being too much friction, and 2) What people would want OpenClaw to do with personal health records once ingested, suggesting ideas like longitudinal event timelines, detecting gaps (e.g., missed follow-ups), and periodic summaries.
📖 Read the full source: r/openclaw
👀 See Also

Building a 200k LOC Production App via Vibe Coding from a Phone
A developer built Vibe Remote, a mobile vibe-coding tool with ~200,000 lines of code (140k Go, 60k Swift), primarily by messaging Claude Code through the app from their phone. The project revealed key challenges like DRY violations and E2E test bottlenecks.

Running Local LLM Agents on Mac Minis with Telegram Interface
A developer shares a setup using 5 local LLM agents on Mac Minis, controlled via Telegram bots with zero API costs. The system uses LMStudio to serve models, tmux sessions for Claude Code, and 80 lines of Python for the Telegram bridge.

SeatBee.app Uses Claude AI for Wedding Seating Arrangements
SeatBee.app was built using Claude Code with Claude AI via OpenRouter to solve wedding seating chart problems. The AI handles constraint satisfaction for 150 guests with 20 rules, generates optimal seating in seconds, and understands social dynamics like creating buffer zones between people with messy breakups.

Speculative Decoding Benchmarks on RTX 3090 with Qwen Models for HVAC Business Use
A developer tested speculative decoding on an RTX 3090 using Qwen models for an HVAC business Discord bot, achieving up to 279.9 tokens/sec with a 236% speedup using Qwen3-8B with a Qwen3-1.7B draft model.