Same voice channel as the morning version — now smarter and more connected. 12 tools, mission resumption, cost-burn alerts, three-line cleanup of every captured thought, all running on Mina's Mac for ~$0.20/day.
All Mina's stuff lives on his Mac. He doesn't.
Cockpit · mina-pt · insta-agent · LeedAB · n8n · Second Brain. All useful, all anchored to a screen. Every walk, every chore, every commute = blind spot. Insights vanish. Captures don't happen. Decisions wait for desk time.
Aria sits in his pocket. He talks. She reads his vault, asks his other agents, captures his thoughts, briefs him in the morning, can pause to ask him a follow-up question, controls his music. The desk is optional, not central.
A FastAPI service on the Mac, a Telegram bot, three iOS Shortcuts on watch + phone, three launchd timers, persistent vault memory. ~2,200 lines of Python. Built across two weekends.
Phone is I/O. Mac is brain. Cloud is the model. Vault is memory. Other agents are spokes.
┌── apple watch (haptic + tap surface) │ jbl flex 3 │ ┌── second brain vault (read + soft-write) │ │ │ _inbox/aria-captures/YYYY-MM-DD.md │ │ │ Mina/aria-learnings.md (persistent memory) │ │ │ ▼ ▼ ▼ ┌────────────────────────┐ ┌──────────────────────────────┐ │ iPhone │ │ Mac (always-on, caffeinate) │ │ │ │ │ │ • iOS Shortcuts │ ───────►│ FastAPI · port 8770 │ │ (Relay/Latest/ │ POST │ ├─ /tell /push /reply │ │ Respond) │ │ ├─ /mission /stop │ │ • Telegram bot DM │ ◄───────│ └─ /latest /status /health │ │ (watch buzz on │ │ │ │ push) │ │ Mission worker (asyncio) │ │ │ │ • picks up pending │ └────────────────────────┘ │ • runs Claude w/ 12 tools │ │ • pauses on ask_mina │ │ │ │ launchd timers │ │ • 08:00 morning brief │ │ • 22:00 daily cleanup │ └────────────┬─────────────────┘ │ ┌──────────────┬──────────────┬──────────────┼──────────────┬──────────────┐ ▼ ▼ ▼ ▼ ▼ ▼ claude api mina-pt :8766 cockpit :8767 vault insta-agent spotify (sonnet 4.6) (his coach) (brain score) (read+capture) :8765 search via osascript
Every tool is async, returns a short string Claude can summarise, and writes nothing destructive without a soft-capture step. Tools tagged new shipped this evening.
read_vault(path)Markdown read across allow-listed Second Brain folders. Denied: _secrets, _attachments.
read_cockpit()Snapshot of meta-dash cockpit (brain score + dashboard summary).
read_aria_state()Aria's own recent inbox + replies + unread count.
capture_thought(text, tag)Soft-write to today's _inbox/aria-captures/. NEVER touches project files directly.
list_captures_today()Used by the 22:00 cleanup mission to triage the day's captures.
query_mina_pt(question)Ask Mina's existing health coach about training, recovery, supplements, sleep.
get_mina_pt_morning_brief()Fetch the pre-built morning brief from mina-pt.
log_to_mina_pt(text)Free-text log into mina-pt — workouts, meals, sleep, mood.
remember_about_mina(fact, category)Append to Mina/aria-learnings.md. Loaded into system prompt every call. Cross-session memory.
search_insta_agent(query)Search Mina's saved IG reels corpus (354+ reels). PT, mobility, anatomy, recovery — voice-callable.
spotify(action)play / pause / next / previous / now_playing on macOS Spotify. AppleScript-based, no API key needed.
push_to_mina(message)Telegram + watch buzz mid-call. Used when Aria has something Mina should hear separately from her main reply.
ask_mina(question, options)Mission-only. Pauses the mission, pushes the question to Mina's watch, resumes when he replies. Round-trip async.
Four flows Aria runs daily. The fourth — pause-and-ask-back — is new since v1.
launchd fires the morning brief. Aria reads _PLANS.md, fetches mina-pt's brief, snapshots cockpit, pushes 3 staged messages to watch.
Mina has a thought. Holds JBL → "Hey Siri, Relay" → "Capture: substrate license is the strongest shape. Tag pillarix."
Mina dispatches a mission Aria can't fully decide alone. Mid-flow she calls ask_mina, which pushes the question + pauses. Mina taps Respond → speaks → mission resumes.
launchd fires the cleanup mission. Aria reads today's captures, proposes where each should land in Second Brain. Doesn't auto-merge.
Two new spokes since v1 — insta-agent (saved IG reels) and Spotify (macOS app via AppleScript). No new infra. No new credentials.
Obsidian vault — projects, plans, daily notes, identity files.
His existing AI coach. Training, recovery, nutrition, sleep, supplements.
Daily ops snapshot — brain score, dashboard health, break reminders. Aria panel inside cockpit shows turns + cost + unread + last reply.
Mina's saved IG reels (354+ reels, mostly PT / movement / nutrition). Voice-searchable.
macOS Spotify control via AppleScript. play / pause / next / now playing.
Persistent facts about Mina. Loaded into system prompt every call.
Outbound delivery. Watch buzzes via standard iOS notification on the bot DM.
Daily soft-write target. Reviewed at 22:00 by the cleanup mission.
Aria pushes a one-time alert at 50%, 80%, 95% of daily cap. Stateless threshold-crossing detection.
Aria is cheap, bounded, and graceful — these are the rails that make it safe to leave running.
If daily spend hits the cap, /tell and /mission return 429 until Sydney midnight. Three soft-warning pushes precede the hard stop (50%, 80%, 95%). Today's run cost $0.18 across 20 turns and 6 missions.
If Anthropic's API hangs, Aria returns "thinking too hard, try again" rather than blocking the iOS Shortcut. Typical reply latency: 1.5–3s for no-tool, 3–8s for tool-calling.
Vault writes go ONLY to _inbox/aria-captures/ — never project files. Vault reads exclude _secrets. Tools that take action (spotify, log_to_mina_pt, capture_thought) are scoped narrowly. No shell access in v1.
Aria is the operator surface. Per-customer Aria is the LeedAB consumer-facing endgame.
What Mina built today is the personal version of what every LeedAB customer business will eventually need. Same shape: a per-business voice channel sitting between the operator and their AI ops system. Same substrate: a per-customer brain (Obsidian vault) underneath. Same delivery: phone + earbuds, no desk required.
The 12 tools Aria has on Mina's stack map almost 1:1 to the tools a small-business operator would need: read your CRM, capture a customer thought mid-call, log to your finance brain, brief me on today's sales, remember that this customer prefers async, pause and ask me before sending the contract. We're not building from scratch — we're proving the shape on the easiest customer (Mina) before generalising.
_secrets/)ask_mina + /reply routingMina/aria-learnings.md) — proven recallaria/PHASE-5-n8n-trigger-plan.md.