The Big Picture
This is a largely autonomous system. It discovers events, monitors its own health, and fixes many of its own bugs β every day, with minimal human intervention. The Observatory exists to give transparency into this process so people can see how an autonomous AI system actually works. This isn't a black box.
How It Works
The whole system, end to end β it runs largely on its own, with a human reviewing only the riskiest changes.
Discovery Pipeline
β runs nightlyOpus reviews recent results and decides what to scrape and search today
Scans a dozen curated sources and the web for Austin AI events
Catches the same event listed on different platforms
AI confirms: real event? In Austin? AI-related?
Tags audience, skill level, and free/paid
Approved events appear on the calendar
Self-Monitoring
β evaluates every runCollects data on scraper health, error rates, source performance, and calendar coverage
The most powerful Claude model reviews everything, assigns a health grade, and identifies issues
Creates search queries, manages sources, and escalates code issues for the repair agent
Self-Healing
β runs daily, 2 hours after discoveryPicks up the highest-priority action item from the monitor
Reads the codebase, understands the bug, and writes a fix
Runs the test suite β only ships if all tests pass
Ships low-risk fixes to production automatically; flags riskier changes for a human to review first
The Independent Watchdog
A separate watchdog β its own program, running outside this system on its own schedule β independently counts how many Austin AI events exist and compares that to how many the calendar has captured. Because it lives outside the agent, the system can't grade its own homework: if coverage quietly slips, the watchdog is the thing that catches it.
Multi-Model Architecture
Three Claude AI models split the work based on what each task needs β like having a junior analyst, a senior reviewer, and a strategic director on the same team.
Handles 80% of decisions β validation, classification, dedup
Evaluates new sources and extracts event details
The system brain β plans each run and monitors system health
Community Input
Anyone can submit an event the system missed using the βMissing an event?β button on the calendar. The agent scrapes the submitted URL, validates it, and adds it to the calendar β all in the same daily run. It also learns from each submission, adding new sources and search strategies to find similar events in the future.
Where It Goes
Each morning, Claude summarizes the overnight run β what it found, what broke, and what it cost β and emails it to the operator. It's how a human keeps an eye on the system without having to run it.
Every Sunday evening, anyone who's subscribed gets the week ahead in Austin AI events delivered straight to their inbox.
Agent Performance
What the agent is doing autonomously
Events Added (Last 30 Days)
Recent Activity
Under the Hood
How the agent thinks, decides, and sometimes fails
Health Report
Automated self-evaluation of system effectiveness
| Grade | Scraper Health | Sources | Error Rate | Activity |
|---|---|---|---|---|
| A | 80%+ | 4+ contributing | <5% | Events added in last 7d |
| B | 60-79% | 3+ contributing | <10% | Active discovery |
| C | 40-59% | 2-3 contributing | >10% | Some source issues |
| D | <40% | <2 contributing | High | Multiple broken scrapers |
| F | β | β | β | System not running |
Updated 2026-03-29: Grades now measure infrastructure health (what the agent controls), not event count or empty days (which reflect community activity). The agent still actively maximizes calendar coverage as a separate mission.
Human Stewardship
How humans guide the agent's growth
Human Stewardship
How humans guide the agent's growth using Claude Code
The system has a janitor that removes events which vanish from their source page β if a meetup's own calendar stops listing it three checks in a row, it's treated as cancelled and taken down. The janitor assumed every label in the database pointed to one page. But two labels are shared bins: "found by web search" covers events from dozens of unrelated searches, and "organizer registry" covers dozens of remembered Luma calendars. Checking ONE page in a bin made every event from every OTHER page in that bin look "vanished." Events found by one-off web searches could never be seen again by any check, so they were guaranteed deletion within days. Over three weeks this quietly removed 37 genuinely upcoming events across all three cities β including a Claude meetup happening the very next day.
Taught the janitor the difference between a label that means one page and a label that means a bin: shared bins are now off-limits to it entirely. Those events already have the right safety net β a weekly checker that visits each event's own page individually and only removes ones that are truly gone. All 37 wrongly deleted upcoming events were restored, then every restored event was individually re-verified against its live page: all of them are real, and a few had stale details (moved venues, changed addresses) that got refreshed in the same pass.
The three city calendars got back dozens of real events that had silently disappeared, and the deletion mechanism can no longer confuse "I checked a different page" with "this event was cancelled." A regression test pins the rule in place.
This agent is developed iteratively with Claude Code. The collaboration is part of the project's identity.