Two developers. Two VPS setups. Two Telegram bots. Two very different architectures for the same goal: a 24/7 autonomous AI companion that manages tasks, monitors infrastructure, and amplifies human decision-making.
Reza Rezvani built a 13-agent system on OpenClaw in 12 hours. I've been building Forge over several weeks. Both systems run on a VPS, use Telegram for communication, and automate daily operations. The architecture diverges sharply.
This is what I found when I mapped his approach against mine.
| Layer | OpenClaw (Reza) | Forge (Jason) |
|---|---|---|
| Identity | SOUL.md (single file) | soul.md + user.md + CLAUDE.md (separated by concern) |
| Safety | AGENTS.md guardrails | CLAUDE.md rules + Gatekeeper scoring service |
| Communication | Telegram bot | Grammy-based Commander (multi-command, agent dispatch) |
| Scheduling | crontab entries | 7 systemd timers (guardian, heartbeat, poller, brief, intel) |
| Memory | File-based MEMORY.md | memory.md + Supabase semantic memory + knowledge graph |
| Automation | Manual cron prompts | Ralph autonomous agent + task queue + LLM-scored gating |
| Dashboard | None | Vercel app (6 tabs: Ops, Projects, Deps, Intel, Knowledge, Files) |
| Deploy | Not mentioned | deploy.sh with auto-rollback + smoke testing |
OpenClaw is prompt-centric. Every capability is a prompt file that runs on a schedule. Want morning briefings? Write a prompt, add a cron.
Forge is service-centric. Every capability is an independent microservice with a REST API, health endpoint, and systemd lifecycle. Want task quality gating? Build a Gatekeeper service on port 5015 that scores tasks via LLM before your autonomous agent touches them.
Reza configures quiet hours. Alerts queue silently overnight and batch into the morning briefing. Forge currently fires Telegram alerts 24/7.
Building Adding DND_START/DND_END env vars. Queued events batch into the daily brief.
When one of Reza's agents finishes work, it writes a structured handoff note. The next agent reads it for context. Forge's Ralph tasks are currently independent — task 2 doesn't know what task 1 built.
Building Structured JSON handoffs between sequential Ralph tasks.
Reza texts his bot at 1 AM: "renew the SSL cert." The system figures out what to do. Forge requires slash commands.
Building Commander dispatcher will detect imperative verbs and route directly to the task queue. Two words from bed.
A 19:00 summary of the day: what got done, what's pending, what's tomorrow. Forge has /wrap-up but it's manual.
Building New systemd timer, same pattern as the morning brief.
Reza's system tracks follow-ups and nudges when items go stale.
Building Daily timer parses Task Board tags, sends Telegram reminders for overdue items.
Every task gets scored by an LLM across 5 dimensions before our autonomous agent touches it. Vague tasks get decomposed into concrete subtasks. A poorly-written task killed our agent 3 times in 5 seconds — the gatekeeper prevents that. Score of 11? Human required. Score of 94? Approved. OpenClaw has no quality gate.
Ralph isn't a cron job. It's a full autonomous agent with a task queue, circuit breaker, spawn tracking, and anti-loop protection. It claims tasks atomically, runs them in isolated git branches, and auto-deploys on success.
Every code change: tag current main, merge feature branch, restart services, smoke test, auto-rollback if the bot breaks.
Six-tab web dashboard showing real-time ops, projects, dependencies, intelligence, knowledge graph, and file management.
Reza runs 13 specialized agents with separate personality files, model assignments (Opus for strategy, Haiku for execution), and domain isolation.
I run one Claude instance with 14 skills.
| Capability | OpenClaw | Forge |
|---|---|---|
| Identity/personality files | Yes | Yes |
| Safety guardrails | File-based | File + LLM scoring |
| Telegram communication | Yes | Yes (more sophisticated) |
| Scheduled automation | 29 crons | 7 timers (expanding to 13) |
| Task queue | Kanban API | Supabase + Gatekeeper + Ralph |
| Autonomous execution | No | Yes (Ralph agent) |
| Quality gate | No | Yes (Gatekeeper) |
| Dashboard | No | 6-tab Vercel app |
| Deploy automation | No | deploy.sh + rollback |
| DND hours | Yes | Building |
| Agent handoffs | Yes | Building |
| Multi-agent | 13 agents | Skill switching |
| Monthly cost | ~$120 | ~$235 (includes Claude Max) |
10 tasks queued for Ralph based on this analysis: