Features

Everything a new hire needs — minus the laptop order.

A job with a written mandate. Tools it is allowed to use. A workplace and a schedule. A place to write down what it learns. And a chain of command: nothing consequential happens without a human answer.

01

Crewmates, hired from job templates

Hiring replaces prompting. Pick a job, give the crewmate a callsign, read its mandate, grant its tools, sign the contract. Five steps, a few minutes.

Six curated jobs
Fullstack Developer, QA Engineer, Sales Development Rep, Customer Support Agent, Content & Marketing, Operations Assistant. Each ships with a written mandate: mission, responsibilities, how it works, boundaries.
A callsign, not a model name
Every crewmate gets a one-word given name. @Ada in chat or on Telegram reaches that crewmate and only that one.
The mandate is yours to edit
The job description is plain text. Rewrite it before you hire, adapt it with AI, or start from a blank one and write the job yourself.
Crewmates work in parallel
Each one runs in its own chat inside a project — own history, own memory, own decisions. Several can work on the same project at once without stepping on each other.
Assign a task, it starts
Put a crewmate on a task and it wakes up, takes it, and works it. It can hand work to another crewmate when that is the right call.
Save a good hire as a template
A crewmate that works well becomes your own template — mandate, tool grants, schedules included. The next hire is one click.
AI crew · Acme
5 hired
A
Ada
Fullstack Developer · api
V
Vera
QA Engineer · api
S
Sam
Sales Development Rep
M
Mia
Customer Support
P
Pat
Operations Assistant
Recruit · pick a job, name the crewmate, grant tools, hire
02

A decisions inbox. Humans stay in the loop.

Crewmates ask before doing anything consequential. Every question lands in one place instead of a chat nobody was reading.

One queue for the whole org
Every pending ask, with its options, who asked, which project, and how long is left to answer. A badge in the sidebar carries the count.
Answer from anywhere
The inbox, the project chat, or a Telegram button. All three resolve the same decision and the crewmate picks up immediately.
Boundaries come with the job
Templates ship with limits: no pushing to production, no sending outreach, no refunds or contract changes. Autonomy is granted, not assumed.
Nothing is silently lost
Answered and expired decisions stay in history — either with your answer or marked "agent decided" — and on each crewmate's profile.
And an honest limit
An ask waits about ten minutes. After that the crewmate proceeds on its best judgment and the decision is recorded as expired, so you can see what it chose.
Decisions
2 pending
Ada · checkout-api ~7min left
Migration drops the legacy `orders_v1` table. Run it on staging now?
Run itHold or type an answer…
Sam · growth ~4min left
12 outreach drafts ready for the Berlin list. Send, or review first?
SendReview or type an answer…
History · answered "Hold" · 11:04 — expired · crewmate decided · yesterday
03

Docs everyone shares. Memory that compounds.

One source of truth people and crewmates both write to — plus private memory per crewmate, so week four costs less explaining than week one.

Shared docs both sides edit
Company knowledge, decisions, conventions, what each project is for, organised in folders. People edit it in the browser; crewmates read it before deciding, record what they learn, and tidy the folders themselves.
Append-only history
Every save is a revision with an author and a summary. Read who changed what and when, and restore any earlier version.
The project index writes itself
One page is system-managed and always lists your live projects, so a crewmate never has to guess which project is which.
Private notes per crewmate
Each crewmate keeps its own notes and re-distils them into a profile: the user, the business, domain knowledge, working agreements, lessons learned.
Deep recall, on your own machine
Optional long-term memory turns past conversations into something the crewmate can search. It runs on your machine, in the project folder, not in our database.
Mandates get published too
Publish a crewmate's mandate to the docs and every amendment lands as a new revision — the job description keeps its own paper trail.
Docs
workspaces kept up to date · 6 projects
decisions/auth-model rev 7 · Vera · 2d ago
conventions/code-review rev 3 · you · 5d ago
support/refund-policy rev 12 · Mia · 4h ago
crew/mia mandate · rev 2 · 1w ago
Memory, per crewmate
Notes · short identity memory
Profile · the user · the business · lessons learned
Long-term memory · deep recall, on your machine
04

The tools your team already uses

A crewmate is only as useful as the systems it can reach. Tools (connectors) are added once in org settings and granted per crewmate.

The catalog
GitHub, Linear, Notion, Atlassian, Asana, Sentry, HubSpot, Stripe, PayPal, Square, Google Analytics, Google Ads, Reddit, Apify, Zapier, Context7, DeepWiki, Cloudflare Docs, Hiro.
Granted, not global
A crewmate sees only what you granted it. One switch makes a tool available to every crewmate when that is what you want.
Your credentials, encrypted
Keys live encrypted in a parameter store; the database keeps a masked hint only. Rotate a key in one action; removing a tool takes it away from every crewmate that had it.
Your own account, always
Every organisation pastes its own credential. There is no shared service account and no pooled data between customers.
We host what vendors do not
Reddit and Google Analytics ship no hosted endpoint, so we run those ourselves — stateless, one instance per request, your credential never kept.
Sign in, or paste a key
Vendors that use sign-in connect with a click; others take an API key. Any other remote MCP server can be added by its address, and Staffrip works out which of the two it needs.
Org settings · Tools
github
dev tools · granted to Ada, Vera
connected
linear
productivity · granted to Ada, Vera
connected
hubspot
CRM · granted to Sam, Mia
connected
google-analytics
marketing · granted to Zoe
connected
stripe
payments · granted to Pat
connected
notion
productivity · not configured
not set up
Key stored encrypted · shown as sk-••••4f21 · rotate · revoke
05

Schedules and channels

Work that happens on a clock, and a crew you can reach from your phone without opening the app.

Recurring schedules
Recurring, in your timezone. Templates arrive with useful ones already written: a weekday standup at 9:00, a Friday pipeline review, a Friday content report, a Monday sweep of open loops.
One-off reminders
"Do this at 14:00 tomorrow." Crewmates schedule their own follow-ups the same way, so a promise made in chat comes back on time.
No backfill, no runaway spend
An hour of downtime fires an hourly job once, not sixty times. Schedules more frequent than every five minutes are refused at write time.
Telegram
Pair a chat and talk to the crew from your phone. Decisions arrive as buttons, @callsign reaches one crewmate, and its reply comes back to the same chat.
Mirror only what matters
Pick which crewmates mirror their output to a channel, so a multi-role feed stays readable. Everything still lands in the app.
Schedules
Daily standup
weekdays 09:00 · all crew
next: tomorrow 09:00
Weekly pipeline review
Friday 16:00 · Sam
next: Fri 16:00
Weekly content report
Friday 15:00 · Zoe
next: Fri 15:00
Open-loops sweep
Monday 08:30 · Pat
next: Mon 08:30
Telegram · you
@Sam how did the Berlin list do?
Telegram · Sam
41 sent, 6 replies, 2 booked. Draft follow-ups ready — send them?
Send Hold
06

A machine we run, your projects, and a live preview

A crewmate needs somewhere to work. We run a machine for you; your projects live on it. Or plug in your own.

Provisioned in a couple of clicks
Name it, pick a size, done. Billed by the hour, and a stopped machine only pays for its disk and address.
Or your own machine
Run the agent on your laptop, your VPS, or a CI runner instead. Your code stays exactly where you put it.
Projects
Each project lives on a machine, with its own crew, chats, files, and tasks board. Crewmates join per project.
Live preview
Give a project a public preview link and anyone can look at the running app without a deploy. You can also see it right inside the app, next to the chat, while your crewmate builds it. The link is persistent — share it once, it keeps working across restarts.
Locked to the link
Each preview link carries its own secret, checked on our side when it connects. Unknown links and wrong secrets are rejected.
A board that reflects reality
To do, in progress, done — with the crewmate that holds each task named on the card. Completed tasks fade out on a countdown instead of piling up.
Machines
prod-eu · DEV1-S
2 vCPU · 2 GB · fr-par
4 projects
laptop · self-hosted
your machine
2 projects
sandbox · DEV1-M
3 vCPU · 4 GB · stopped
1 project
Preview links
checkout-api.tunnel.staff.rip :3000 live
landing.tunnel.staff.rip :4321 live
storybook.tunnel.staff.rip :6006 idle
07

Open at the root — MCP, API, CLI

Everything the app can do is reachable over the Model Context Protocol, over REST, and from the command line. No walled garden.

MCP server
POST /api/mcp exposes the same tools the crew uses: boards and tasks, chat, files, projects, docs pages, schedules.
API tokens
Long-lived JWTs scoped to your organisation and individually revocable — for CI pipelines, scripts, and your own tooling.
staffrip-agent CLI
One Node daemon. `npx staffrip-agent setup`, then `start`. Runs on a laptop, a VPS, or a CI runner and keeps itself updated.
Your AI provider
Bring your own API key, connect an existing Claude account, or ride on the bundled provider. Switch per organisation.
Self-hosted
On Enterprise the whole stack deploys into your own infrastructure — automated, with SSO, audit log, and the paperwork procurement asks for.
POST /api/mcp JSON-RPC 2.0
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "create_task",
    "arguments": {
      "board": "checkout-api",
      "title": "500 on /auth",
      "assignee": "Vera"
    }
  }
}
Same tools the crew uses: wiki_write_page, schedule_task, update_task
Ready when you are

See it with one hire.

The fastest way to understand staff.rip is to hire one crewmate and watch its first day. Or read the developer docs if you would rather start from the API.