Up
UpCounting · Operating System v0.1 · Jun 4 2026

Operating infrastructure map

Knowledge Data & events Execution Interface Thinking
Layer 01 Knowledge — the brain The what and why · human-readable · version-controlled
Notion
Source of Truth
Single canonical home for everything humans (and agents) need to read. SOPs, brand voice, strategy docs, brain pages, and — critically — every skill prompt stored in a versioned page template so any agent can pick up and run it.
  • SOPs & brand — how we work, how we sound, what we promise
  • Strategy & brain pages — narrative context, hiring, positioning, philosophy
  • Skill prompts — versioned page template per skill: description, when to use, inputs, prompt body, outputs, owner tool, changelog
  • Decision context — long-form rationale that backs structured decisions in Supabase
read · Hermes read · Perplexity read · Claude Code write · Perplexity (diff → approve) write · Abir cache · 5min in Hermes
Layer 02 Data — the nervous system Canonical operational truth · real-time · queryable by everything
Supabase
Canonical DB
Postgres + real-time + edge functions. Receives a duplicate of source data from connected tools so we can track what Pipedrive (and others) don't — stage-change timestamps, event history, attribution — and so the dashboard can query one place instead of fanning out.
  • Skill registry — pointer to the Notion page, owner tool, current version, last run, metrics
  • Run events — every LLM execution logged richly: provider, tokens, cost, duration, savings claim
  • Decision log — structured, supersedes-chained, queryable; the bridge between thinking and execution
  • Mirrored source data — Pipedrive deals, ClickUp tasks, Airtable rows, with full event history
  • Connector status, alerts, costs, subscriptions, memory index
read · Mission Control (real-time) read · Hermes read · Perplexity write · Hermes (run events, decisions) write · Edge Fns (ingestion) write · Perplexity (decisions)
Layer 03 Execution — the doers Divided by nature of work · LLM vs. deterministic
Hermes
Chief of Staff
The runtime for everything LLM-driven. Owns memory, profiles, and long-lived agents. The only voice that talks to humans on Slack.
  • Reads skill prompts from Notion (cached)
  • Reads/writes state in Supabase
  • Runs agents by profile: Inbox, CRM, Content, Ops…
  • Handles human-in-the-loop via Slack
  • Reports up; flags exceptions
in · Notion in · Supabase in · Slack out · Slack out · Supabase
Claude Code
Plumber
Builds deterministic plumbing: ingestion pipelines, integrations, Mission Control itself, schema migrations. Nothing LLM-at-runtime lives here.
  • Supabase edge functions (webhook listeners)
  • pg_cron pollers for non-webhook sources
  • Custom integrations, scrapers, scripts
  • Mission Control Next.js app
  • Triggers Hermes agents when events need a brain
in · Notion (specs) out · GitHub out · Mac mini out · Supabase schema
Schedulers
Heartbeat
The clockwork that fires recurring work. Split between Supabase's pg_cron (for data jobs) and Hermes's own scheduler (for agent runs).
  • pg_cron — ingestion pollers, nightly rollups, backups
  • Hermes cron — agent runs, digests, periodic reviews
  • All schedules visible in Mission Control
deterministic observable
Layer 04 Interface — where you meet the system Push via Slack · Pull via Mission Control
Slack
Inbox
Bidirectional with Hermes only. Work comes to you here; you respond inline; Hermes proceeds. Mission Control never talks to Slack directly — it routes through Hermes so the voice stays consistent.
  • Inbound — mentions, DMs, slash commands → Hermes interprets and acts
  • Outbound — human-in-the-loop asks, alerts, digests, status pings from Hermes
  • Channels: #mc-alerts, #mc-queue, DMs for critical
  • Single aggregated queue across every agent — one inbox, not five
in · Abir + team in · Hermes out · Hermes
Mission Control
Dashboard
Pull-only. You go here deliberately to look at trends, scorecards, agent activity, spend, ROI, and the knowledge graph. It does nothing on its own — it shows.
  • Next.js 15 · reads Supabase real-time
  • Mobile-responsive · hosted on Mac mini · Cloudflare Tunnel
  • Dashboards, scorecards, decision browser, ⌘K search
  • Demo mode for screenshots / walkthroughs
in · Supabase (real-time) read-only mac mini · tunnel
Layer 05 Thinking — the partner Reasoning · drafting · personal one-offs · writes back to Notion + Supabase
Perplexity Computer
Thinking Partner
Where Abir reasons, plans, drafts, and handles personal one-offs. Outputs flow back into the operational stack so thinking doesn't get stranded.
  • Strategy & journaling — long-form thinking with full connector + memory access
  • Content work — landing pages, scripts, performance analysis
  • Decisions → written as structured rows in Supabase decision log
  • Narrative context → proposes diffs to Notion brain pages; Abir approves in Slack
  • One-off agentic tasks — research, drafts, artifact generation
in · all connectors in · Notion (read) in · Supabase (read) out · Supabase decisions out · Notion (via approval)
Information flow
Data Knowledge Human comms
Pipedrive ClickUp Airtable Mesh CRM Gmail · GCal QuickBooks SOURCE TOOLS INGESTION Edge Fns webhooks pg_cron pollers built by Claude Code Supabase CANONICAL DATA LAYER MIRROR + EVENTS Notion BRAIN Hermes CHIEF OF STAFF PROMPTS + CONTEXT READ STATE WRITE RUNS Slack INBOX Mission Control REAL-TIME READ Perplexity THINKING DECISIONS DIFF → APPROVE → WRITE Abir + team BUILDS Claude Code deterministic
Routing rules
  • If
    Work needs a model at runtimeHermes
  • If
    Work is deterministic codeClaude Code
  • If
    Work is a personal one-off or strategic thinking → Perplexity
  • If
    You need to look at the system → Mission Control
  • If
    The system needs to reach youSlack via Hermes
  • If
    A decision needs to stickSupabase decision log (+ Notion mirror)
  • If
    A piece of knowledge needs to be reusable → Notion
Hard invariants
  • Never
    Mission Control does anything. It only shows.
  • Never
    Mission Control talks to Slack directly. Hermes is the only voice.
  • Never
    Run an LLM skill outside Hermes in production (except Perplexity for your own one-offs).
  • Never
    Duplicate skill prompts. Notion is the single source; agents cache.
  • Always
    Log every run event richly to Supabase — attribute later, never reconstruct.
  • Always
    Notion edits from Perplexity go through diff → approve → write.
  • Always
    Decisions supersede, never delete. The chain is the audit trail.