Ryan Reid
← All work

Own project · AI research agent · 2026

Theos

An AI researcher that runs 24/7 and upgrades itself

Role
Solo build
When
Sep 30, 2026 – now
Built with
Python, Claude, OpenClaw
Status
Live 24/7
519
commits in 15 days
152
changes it proposed itself
17–3
wins vs plain AI search
Theos phone console: checkpoints, upgrades merged, and a three-model vote

The before

AI models stop learning at a cutoff. I kept losing hours checking what was actually current.

What I built

A cited briefing every morning.

Diagram: questions, collect, read and check, council, answers; then plan, build, judge, ship, day-after check
Two loops: one researches, one upgrades itself.

Features

01Reads the field daily

Papers, GitHub, YouTube and more, and every quote is checked against the source.

02A council decides

AI judges vote on each idea, and big calls need three models to agree.

One proposed change with a three-model vote: two yes, one no
Design render with sample data.

03It upgrades itself

It writes and ships its own changes, and reverts them if the number slips.

Theos area: checkpoints, upgrades merged, benchmark, upgrades held
Design render with sample data.

04Hard rules

A model that reads the web never gets tools, and spending is capped at $0.

LevelWhat it means
AutoDoes it and logs it
QuorumThree AI models must agree
ApproveI tap yes on my phone

Why it matters

It lost every head-to-head at first. Now it mostly wins.
0
Oct 1 wins
0
Oct 2 wins
9
Oct 5 wins
12
Oct 6 wins
17
Oct 13 wins

Source: Blind AI-judged matchups vs plain web search. Oct 13: 17 of 26 (6 ties, 3 losses).

Honest part: none of its first 20 self-upgrades helped.

How it works

  1. Standing questions
  2. Collect + verify
  3. AI council
  4. Morning briefing
  5. Self-upgrade

Three budgeted workers research, build and keep things healthy.

Technical details +

Hard problems

  • Building isn't improving. Changes now need a number and a next-day check.
  • A test with live keys closed every build for days. Fixed.
  • An outside runtime hijacked its Telegram bot for 70 minutes.

Stack

  • Python 3.12 + FastAPI
  • Claude, zero tools per call
  • OpenClaw as the scheduler
  • SQLite on Railway

What I learned

  • —If a plain tool beats yours, adopt it. That one became its first collector.
  • —An AI that builds isn't an AI that improves. Without a metric, it's busy.

Thinking of letting AI run on its own? I'll show you where mine broke.

Next projectClaude Deck →