Kennedy Family Brain
Healthybrain.varo.au with medallion architecture, UniFi, screen time
Sessions
167
Discoveries
53
Patterns
27
Open Gaps
6
Medallion architecture scales well for personal knowledge
discoveryBronze/Silver/Gold layers with automated promotion work well even at personal scale. Key insight: Bronze ingestion should be append-only with SHA256 dedup.
Korean LCC price fallback cascade
patternSerpAPI returns $0 for Korean LCCs. Solution: detect $0 prices and trigger Amadeus/Duffel/FlightAPI.io fallback chain. Real prices recovered in 85% of cases.
Every AI-generated value is untrusted input
decisionAI trust boundary rule: validate enums against allowed sets, parse JSON defensively, cap content-driven AI calls, escape query strings in ALL query languages.
Cloudflare Pages edge runtime gotchas
discoverynext/headers dynamic requires edge runtime annotation. getServerSideProps does not work. Use route handlers for API calls. Cookie domain must be .varo.au for cross-subdomain auth.
Instrument Serif + Sans pairing for dashboards
decisionInstrument Serif for display headings, Instrument Sans for body. JetBrains Mono for code/metrics. This combination balances authority with readability.
N+1 query prevention in D1
patternD1 has high per-query latency. Batch all lookups with IN clauses. Never loop individual SELECTs. Use COALESCE for optional joins.
Swarm architecture for parallel development
patternBreak complex features into independent streams with mission files. Each stream gets its own worktree. Wave driver orchestrates and merges. Maximum 5 parallel streams.
Deal intelligence requires entity cross-linking
improvementEvery deal entity (issue, decision, document, comment) must be cross-linked via pushDealEntityToBrain(). Without this, the brain cannot surface connections during advisory sessions.
UniFi SSH+MongoDB+ARP gives complete network picture
discoveryCombining SSH for device list, MongoDB for DPI stats, and ARP for MAC-to-IP mapping provides 95% device identification. Remaining 5% are IoT devices with no useful hostname.
Session meta + facets join by session_id
memoryUsage data lives in two file types: session-meta (timing, model, messages) and facets (tool usage, code changes). Join on session_id field for complete picture.