Pin

WEARABLE MEMORY BOOK

A camera you wear that sees what you see and never forgets. The device is deliberately dumb — it captures keyframes and streams them — and every piece of intelligence runs on a Mac in the same room.

FIRMWAREAI / MLELECTRONICSFULL-STACK 2025
Pin — Wearable memory book
7 /7
LAYERS TOUCHED
16 B
WIRE HEADER
4 fps
UXGA KEYFRAMES
0
CLOUD CALLS

Pin was my first attempt at a problem I keep coming back to: a machine that remembers your day without handing your day to anybody else.

The device captures UXGA JPEG keyframes from an OV2640 and pushes them over a WebSocket with a 16-byte binary header and length-prefixed frames. On the Mac, an ingest worker segments the stream into events, tags scenes with Qwen2.5VL, resolves faces with InsightFace ArcFace, and writes both into a knowledge graph with a vector index beside it.

Everything about it is phased on purpose — ingest and live view first, then consolidation, then retention. It taught me what OpenRecall needed to be.

STACK, BY LAYER

  • 01 PRODUCT Live view · recall surface
  • 02 SERVICE FastAPI · async workers · WebSocket ingest
  • 03 DATA SQLite + sqlite-vec · FalkorDB / Graphiti · media on disk
  • 04 MODELS Qwen2.5VL · Qwen3 35B · InsightFace ArcFace via Ollama
  • 05 PROTOCOL 16-byte binary header · length-prefixed frames · JSON control
  • 06 FIRMWARE ESP-IDF · FreeRTOS event bus · component lifecycle
  • 07 SILICON XIAO ESP32-S3 Sense · OV2640 · PSRAM · SD card
ESP-IDFFreeRTOSOV2640FastAPIOllamaQwen2.5VLInsightFaceFalkorDBsqlite-vec