Friday
A personal assistant that runs around the clock using Claude Code itself as the runtime — Telegram for conversation, MCP plugins for mail, notes, voice and git, and a cron system the assistant reorganises on its own.

What it is
An always-on personal assistant built without an agent framework: Claude Code is the runtime, a CLAUDE.md file is the system prompt, and cron jobs, MCP plugins and shell tools supply everything else. It talks over Telegram, handles mail through an API, commits and opens pull requests, does web research, and runs scheduled work it manages itself. On top sits a cognition layer — skills it extracts from solved tasks, nightly reflection, preference learning, a world model, and improvement proposals it never applies without approval — backed by a single Flask and SQLite server holding conversations, memories and embeddings. The whole system runs on one hundred dollars a month.
Who built itCommits as missingus3r under a single Gmail address, 80 commits over five months. Not one is attached to a linked GitHub account, so the contributor list is empty and the history is the only record of the work. The repository is the showcase; the system it describes runs on his own machine.
Build log
8 stages- 01
The repository is the description, not the thing
This has to be said first, because it changes what every other sentence here means. The repository contains twenty files: a twenty-kilobyte README, a thirty-three-kilobyte setup guide, a single-page site of a hundred and fifty-five kilobytes, and images. There is no system code. The assistant runs on the author’s own machine, and the memory server’s reference snapshot lives in a separate repository which the README forbids cloning — that code is generated by Claude Code from the setup guide, so every installation differs, and the repository is kept only as the source of the screenshots. So this record is a record of a documented system, and everything below is the author’s account of his own machine. The documentation is unusually detailed and the commit history corroborates that something was built; but nothing in this archive ran it, inspected it, or saw its source.
- 02
Ninety-eight per cent of the commits name their co-author
Seventy-eight of eighty commits carry a co-author trailer naming a model — ninety-eight per cent, above the ninety-five per cent this archive recorded for Claude Code Game Studios and far above anything backed by real code. The models are all recent and all large-context: Opus 4.6 on thirty, Opus 4.8 on twenty-three, Opus 4.7 on sixteen, Fable 5.1 on five, Fable 5 on four. The other number is the interesting one: none of the eighty commits is attached to a linked GitHub account, so a repository with five months of work reports zero contributors. Between them, the two facts describe a common shape that this archive keeps running into from different directions — attribution in this era lives in trailers and addresses, and the hosting platform’s contributor graph increasingly has nothing to do with who wrote the code.
- 03
Claude Code as the runtime, not as the assistant
The argument the project is built on is stated plainly: agent frameworks add layers — a custom runtime, orchestration code, a deployment pipeline, and often their own API costs — where Claude Code already provides native tool use, MCP plugins, cron scheduling, sub-agent spawning, file access, git and a shell. So the framework is the runtime, the
CLAUDE.mdfile is the system prompt and the behaviour specification, and the only custom code is one lightweight server for memory and the learning subsystems. The cost claim follows from the same decision: the whole system runs on a single hundred-dollar-a-month subscription rather than per-token billing, and the README makes the case in one line — one plan, one CLI, one model, staying inside a single subscription and inside the provider’s terms. Whether or not a reader agrees, the position is coherent and it is priced. - 04
What it does all day
It converses over Telegram and, in the same chat, checks mail through a REST API, drafts and sends replies, commits code and opens pull requests, runs web searches and reports back. It messages first — check-ins, reminders and follow-ups derived from memory rather than from a request. It monitors its own scheduled jobs and recreates any that have expired. It can run a live camera and detect people on the device with a small object-detection model, capture a snapshot with a bounding box and a ten-second clip, and alert over Telegram, with the explicit note that nothing leaves the machine. Alongside the framework jobs sit project-specific ones a user is expected to replace — a model-release monitor, a dataset scraper, a monthly usage report — and the README draws that line itself: what is shipped is the framework, what is not is whatever you want running around the clock.
- 05
It reorganised its own schedule
The scheduled jobs are where the system’s autonomy is easiest to see, because the change is measurable: over time it consolidated twenty-five sprawling jobs into eight and then into seven, retiring the ones whose purpose had expired. Two of the seven exist to keep the other five honest — a heartbeat that verifies every job is alive and recreates any that lapsed past its seven-day lifetime, and a daily briefing that is sent unprompted. The rest are a nightly pass over reflection, metrics, goal prioritisation, prediction resolution, memory decay, skill promotion, preference learning and a self-audit; an overnight swarm of parallel sub-agents whose findings are synthesised into one digest; an experiment runner that drives A/B tests through sandbox dry-runs and concludes them when a sample threshold is reached; and a weekly summarisation pass that compresses old conversation logs while keeping the originals. Consolidating twenty-five jobs into seven is the kind of housekeeping a person would do once and then forget, and here the system did it to itself.
- 06
A cognition layer, and one rule about autonomy
On top of the assistant sits what the author calls a thin, entirely additive cognition harness of eight subsystems. A goal engine ranks what to do next by utility times urgency times the remaining work. A hierarchical planner stores plans as executable structures rather than prose — goal, sub-goal, action, tool, expected result, exit condition, and how to roll it back. Memory is three-layered, episodic and semantic and procedural, and every row carries where it came from, how confident the system is, and when it was last checked. A causal world model holds entities, subject-verb-object relations, events with causes and effects, and predictions that are testable and carry a calibration gap. Self-knowledge includes a six-rung autonomy ladder running from suggesting at the bottom to modifying itself with rollback at the top, gated by a check endpoint. A verifier runs named checks — factual, consistency, goal alignment, hallucination, uncertainty, evidence — in dry-run, simulation or live mode. Experiments carry minimum-delta and minimum-sample guardrails, and skills mature from draft through stable to deprecated. Eleven metrics are recorded daily, including a hallucination rate and a calibration gap. The golden rule the whole thing is built around is written into the system prompt: no unrecorded autonomy — every goal, plan node, sandboxed action, resolved prediction and promoted skill leaves a row, and the dashboards exist so a person can audit whether the system is earning the freedom it has. That rule sits in the same document as the recommended launch command, which passes the flag that skips permission prompts. Both are the author’s choices and they pull in opposite directions; the record notes the pair rather than picking one.
- 07
One Python file, and a database that upgrades in place
The memory layer is a single Flask and SQLite server, and the restraint is the point: no vector database, no Redis, no search cluster, because embeddings are stored as blobs in the same file. Conversation logging auto-classifies importance on a scale from zero to one, using keyword-score pairs stored in the database rather than hardcoded, editable over HTTP with hit counts, and tuned over time by the preference pass. Search is semantic over three-thousand-dimension embeddings, with a hybrid mode that fuses full-text search and vector results through reciprocal rank fusion weighted by importance. Weekly summarisation compresses old logs without deleting them. A four-tab single-page view lays it out: a force-directed graph of conversations, memories and entities; a chronological log; a draggable architecture diagram persisted server-side; and a retrieval dashboard. The harness added thirteen tables and dozens of endpoints on top, and the migration approach is worth copying — nothing was removed and new columns are added with an idempotent alter, so an old database upgrades in place rather than being rebuilt.
- 08
A known bug with a workaround, and a comparison written fairly
Two sections tell you more about the author than the feature list. The first is a known issue: the Telegram plugin can occasionally drop incoming messages without raising an error, photo albums most often, and the workaround is an optional passive listener on the user’s own account that records the entire chat to a local file, so the assistant can detect the gap and recover the messages itself instead of asking a person to resend them. A dropped message is not an interesting bug; refusing to accept silence as success is. The second is a comparison table against four agents in the same space — OpenClaw, Hermes, Khoj and Leon — scoring twenty-two ticks against eleven, eight, seven and two, compiled from public documentation with the compilation date given. The one row Friday loses, a community skill marketplace, is conceded in the same sentence as being theirs, with the honest reason: Friday builds its skill library from its own solved tasks rather than from a catalogue. Against that, the repository carries no licence file at all, so a reader cannot tell what they are permitted to do with the documentation, and the system’s source is not here to be licensed either.
Adjacent records
All records →No. 043
N.O.R.A.Core
A single-author AI companion with two brains, an encrypted diary of its own, and 98 commits signed in its own name.
No. 051
AI Job Search
A job-application framework that runs on your own machine: it scores postings against a profile you fill in, drafts a tailored CV and cover letter in LaTeX, compiles them, reads the rendered PDF back — and stops one step short of sending anything.
No. 046
ORCH
A runtime for running several coding agents on one project at once: you define a team, give it a goal, and a CTO agent decomposes the work while the rest pick up tasks — across Claude, Codex, Cursor, Grok and a plain shell — with all the state kept in files rather than a database.