graph TD
subgraph User["User Layer"]
Browser["Browser"]
end
subgraph WeeklyApp["Weekly App"]
FastAPI["FastAPI Server
auth / synthesis / intentions / meeting-prep / models / admin / health"]
Auth["Google OAuth + Session
opaque token, DB-backed"]
Invite["Invite Gate
JWT invite tokens (passed via URL, not persisted)"]
Gopher["Gopher Client
signed S2S JWT, 5 endpoints: context,
outstanding, meeting-prep, meeting-notes, identity"]
Synthesis["Synthesis Engine
tense-aware prompt builder + StreamingResponse
grounds in Google Doc meeting notes + auto-generates intentions
persists summaries to SQLite"]
Intent["Intentions Store
centralized HTTP + atomic upsert (race-safe)
one row per user per Mon-Fri week"]
MeetingPrep["Meeting Prep
AI-drafted, user-editable notes
generate / list / search / update"]
PrepStore["Prep Notes Store
Fernet-encrypted content + keyword shadow
keyed on attendee fingerprint (durable across re-syncs)"]
Models["Model Selector
/api/models list available Ollama models
/api/models/select user's chosen model"]
AdminUsers["Admin Users
/admin page, /api/admin/* invites + CRUD
invite tokens passed via URL (not persisted)"]
Health["Health Check
/health returns ok
startup: creates tables, checks Ollama model"]
Logout["Logout
/auth/logout deletes session DB row + clears cookie"]
end
subgraph Intelligence["Local Intelligence"]
Ollama["Ollama (ollama AsyncClient)
localhost:11434 by default
granite4.1:30b in prod; user-selectable per
user via /api/models + /api/models/select"]
end
subgraph Data["Data Layer"]
SQLite[("SQLite default; PostgreSQL via DATABASE_URL override
5 tables: users, sessions, intentions,
meeting_prep_notes, weekly_summaries
Fernet-encrypted content + keyword shadow
per-thread sessions + WAL mode
weekly_summaries table stores generation history
with auto-save, pagination, and user-facing
keyword-shadow LIKE search via /api/synthesis/history/search")]
end
subgraph CrossApp["Cross-App Data (fanned out by Gopher, not Weekly)"]
Inbox0["inbox0
email threads, sweep summaries"]
Summarizer["Summarizer
meeting notes, action items"]
Focus["Focus
completed sessions, tasks"]
CodeReviewer["Code Reviewer
recent review activity"]
Almanac["Almanac
weekly insights
calendar events (type=calendar)"]
Scribe["Scribe
transcription summaries and action items"]
end
subgraph Infra["Infrastructure"]
CF["Cloudflare Tunnel"]
Docker["Docker Compose"]
OwnOS["MyOwnLifeOS JWT
suite-shared signing key"]
SW["Service Worker
same-origin only, bypasses CDN/cross-origin"]
end
Browser -->|HTTPS| CF
CF -->|HTTP| Docker
Docker --> FastAPI
FastAPI --> Auth
Auth --> Invite
Auth --> SQLite
Browser -.->|installs, caches HTML shell| SW
Browser -->|trigger generate| FastAPI
FastAPI -->|context / outstanding / meeting-notes / identity| Gopher
Gopher -->|email context| Inbox0
Gopher -->|meeting context| Summarizer
Gopher -->|task context| Focus
Gopher -->|review context| CodeReviewer
Gopher -->|calendar context| Almanac
Gopher -->|meeting-notes context| Almanac
Gopher -->|transcription context| Scribe
Gopher -->|resolved bundle| Synthesis
Synthesis -->|past/today/upcoming buckets + meeting-notes grounding
+ non-dated action items| Ollama
Ollama -->|streamed prose| Browser
Browser -->|three intentions| Intent
Synthesis -->|auto-generated intentions| Intent
Intent --> SQLite
Browser -->|generate / edit prep note| MeetingPrep
MeetingPrep -->|7-day meeting window + attendee history| Gopher
MeetingPrep -->|draft note| Synthesis
MeetingPrep --> PrepStore
PrepStore --> SQLite
FastAPI --> Models
FastAPI --> AdminUsers
FastAPI --> Health
FastAPI --> Logout
Auth -->|server-to-server| OwnOS
classDef user fill:#1a1a2e,stroke:#e85555,stroke-width:2px,color:#fff
classDef app fill:#16213e,stroke:#ff9f1c,stroke-width:2px,color:#e0e0e0
classDef data fill:#16213e,stroke:#64b5f6,stroke-width:2px,color:#e0e0e0
classDef llm fill:#16213e,stroke:#3ecf6e,stroke-width:2px,color:#e0e0e0
classDef infra fill:#0f0f0f,stroke:#8888a8,stroke-width:1px,color:#8888a8
classDef integration fill:#1a1a2e,stroke:#c880ff,stroke-width:2px,color:#e0e0e0
class Browser user
class FastAPI,Auth,Invite,Gopher,Synthesis,Intent,MeetingPrep,PrepStore,Models,AdminUsers,Health,Logout app
class SQLite data
class Ollama llm
class CF,Docker,OwnOS,SW infra
class Inbox0,Summarizer,Focus,CodeReviewer,Almanac,Scribe integration
Scroll to zoom · drag to pan · double-click to fit