Skip to content

Repository files navigation

Vobo – Human Review for AI Slop Output

No matter what your AI does – text, image, sounds or video – Vobo helps you review its products before slop goes live.

Each Vobo queue receives input and output of your model and lets your reviewers check it against policy. All decisions are stored in a hashed chain of evidence and can be POSTed wherever you want.

We don't replace your eval tools. We make human review convenient, so you don't footgun yourself.

The name comes from visto bueno (V°B°) — the Latin-American sign-off “seen-good”.

vobo.dev · Docs · X · LinkedIn

Features

  • Anchored comments. A comment sticks to a place in the artifact. It stays across versions until someone resolves it.
  • Data in and data out. HTTP, MCP, and webhooks. You POST an artifact. You get a signed decision back.
  • Hotkeys. The station is built for the keyboard. ⌘↵ ships a verdict.
  • Access control. Admin and reviewer roles on every plan.
  • Text now, image WIP. Sound and video are on the roadmap.
  • Retrievable traces. Every decision is on a hash chain. You can pull the full record.

The loop

flowchart TD
  create["create review"] --> open["open"]
  open -->|claim| claimed["claimed"]
  claimed -->|verdict| accepted["accepted"]
  claimed -->|verdict| rejected["rejected — awaiting version"]
  claimed -->|verdict| escalated["escalated"]
  rejected -->|submit version| open
Loading

create review is an idempotent upsert on the caller's request id. submit version never creates a request. accepted is terminal: do not regenerate it.

Get started

Managed cloud

Sign up on vobo.dev.

Free is capped at 1 queue, 5 users and 1 000 reviews a month. Paid is $0.10 per human review and capped at 20 queues without seat or review caps. All integrations are free besides verbatim log drain (on the roadmap).

The LLM judge is on the roadmap. It will be free on any plan when you bring your own key. Paid will also let you use our tokens, charged per review.

Setup is in the docs.

Enterprise

Open-core self-host is capped at 20 queues. If you need more than 20, write to v@vobo.dev for an enterprise licence.

Run it locally

You need Node.js 22+, pnpm, and Postgres.

git clone https://github.com/getbeton/vobo.git
cd vobo
pnpm install
cp .env.example .env

Set AUTH_SECRET (openssl rand -base64 32) and POSTGRES_URL. Then:

pnpm db:migrate
pnpm db:seed          # prints the admin password and API key once
pnpm dev              # http://localhost:3000
pnpm worker           # webhooks, lease expiry, SLA sweep — second process

pnpm db:seed writes one workspace, the default queue, and one project-scoped API key. Store the key. It is not shown again.

Without RESEND_API_KEY, magic links print to the server log. That is enough for local work.

Production topology, Railway, and DNS live in DEPLOY.md.

Connect a pipeline

Same contract on every path. Ids belong to the caller and must be deterministic.

Path Use when
HTTP Bearer on /api/v1/reviews, /api/v1/versions, /api/v1/corrections, /api/v1/review, /api/v1/cursor Any pipeline
MCP request_review, submit_version, list_reviews, get_review, get_corrections, get_cursor, set_cursor An agent in a terminal. Full-loop parity with HTTP
Webhooks Standard Webhooks signing, retry 10s / 60s / 180s, then DLQ You have a server that can receive events

A consumer with no server pulls. changed_since takes an event-id cursor that Vobo stores per API key. awaiting_version is the regeneration work list. Two copies of the same agent cannot drift: there is no local cursor.

Point the MCP server at an instance:

export VOBO_API_URL=http://localhost:3000
export VOBO_API_KEY=vobo_sk_…
pnpm mcp

Community

Channel Best for
vobo.dev/docs/quickstart How to use the station
GitHub Issues Bugs and errors in this repo
X Product notes
LinkedIn Company notes

Contributing

Open a pull request against staging. Run pnpm test first.

Do not invent UI. The prototype in design/ is the spec.

License

Apache License 2.0

OSS tooling

These projects run the station. Thank you.

Project In Vobo Links
Next.js The app repo
React UI repo
Drizzle Schema and queries repo
Better Auth Sessions and magic links repo
MCP TypeScript SDK The MCP server repo
Zod Request and event shapes repo
Tailwind CSS Layout repo
postgres.js Postgres client repo
pg-boss Jobs: webhooks, leases, SLA repo
Radix UI Accessible primitives repo
Lucide Icons repo
SWR Client data repo
Vitest Tests repo
approx-string-match Re-anchoring after a rewrite repo

VOBO Oversees Bullshit Output. 2026-singularity.

Releases

Packages

Contributors

Languages