posted an update

Architecture

┌── On the recipient's Mac ──────────────────────────────────────┐
│                                                                │
│  Mic → WebRTC VAD → faster-whisper (local)                     │
│                                     │                          │
│  Camera (on-demand) ───┐            │                          │
│  Screen/app sampler ───┤            │                          │
│  HID idle detector ────┤            │                          │
│  Hotkeys ⌘⇧Space,⌘⌃F,R,D├─────▶ Event Bus ─▶ Scheduler         │
│  Cron (morning / 9pm /  │                 │                    │
│       random check-ins /│       ┌─────────┴─────────┐          │
│       med reminders) ───┘       │ rules.decide:     │          │
│  Conversation tracker ──────────▶ SKIP/LOG/         │          │
│  (passive capture)              │ CHEAP_LLM/BIG_LLM │          │
│                                  └─────────┬─────────┘         │
│                                            │                   │
│                  ┌─────────────────────────▼──────────────┐    │
│                  │ Gemini 2.5 pro/flash · structured JSON │    │
│                  │   ↑ profile + permanent memories +     │    │
│                  │     semantic-relevant memories injected│    │
│                  │     into every system prompt           │    │
│                  └─────────────────────────┬──────────────┘    │
│                                            │                   │
│            ┌───────────────────────────────┼──────────┐        │
│            ▼                               ▼          ▼        │
│   TTS (pyttsx3 / NSSpeech)         JSON over USB   SQLite      │
│   → Mac speaker                    → ESP32 firmware  + pgvec   │
│                                      (OLED eyes +   embeddings │
│                                       2 flippers)      │       │
└─────────────────────────────────────────────────────┼──────────┘
                                                      │
                                    (every 60s async) │
                                                      ▼
              ┌── Supabase (shared source of truth) ────────────┐
              │ users.profile (JSONB)                            │
              │ memories + vector(1536) + RPC match_memories()   │
              │ meals · observations · messages · activity       │
              │ Storage: photos bucket (food + reports)          │
              └──────────────────────────────────────────────────┘
                                      │
                       ┌──────────────┴──────────────┐
                       ▼                             ▼
             Gifter web (Next.js)           Emergency / daily-summary
             · daily feed                   · FCM push (TODO post-hack)
             · attention feed
             · medical history
             · meal log

Log in or sign up for Devpost to join the conversation.