The AI product builder workspace

One place to build your products

Everything you need to build and maintain your products, connected — so you never lose the thread between tools. An interface that keeps you calm and in flow, speed that makes every click instant — and all of it on your machine.

pulse feat/share-links
Code Agents DB Context
Server Web
share-links · PRD To do spec Implement
TextH1H2Bullet BITable Source
Ask the doc assistant — / commands, @ files
Shareable dashboard link In progress share-links · PRD #128 Ship
Ask your agent — / commands, @ files, @@ docs

Shipped to main

Shareable dashboard links — read-only, 7-day expiry.
#128 merged +91 −5 4 files
Choro — an agent run: plan, approval, diff, tests, ship
the philosophy

The hard part isn't the code. It's the context

Agents write the code now. The hard part is holding the whole thing in your head while they move fast.

So we built one place for all of it — your projects, your agents, your specs, your git, your running app. One window. One context. Nothing scattered, nothing lost — and you still deciding what ships.

Run one project or ten, side by side — each with its own agents, its own scripts, its own space. It's fast because it's native, calm because it's designed, and it stays out of your way all day.

We didn't build this to sell you a workflow. We built it because we needed it — two years, every day, on real work, from side-projects to apps with millions of users. We're builders. Same as you.

editor
agents
scripts
git
Project 1
Project 2
Choro on context
Project 3
Project 4
db
docs
designs
terminal
the agents

Agents that work like coworkers

Not a chat box bolted onto a buffer — a teammate you can brief, question, and trust to stay on track.

agent · chat waiting for you
Rate-limit strategy · 1 of 2
How should I limit the endpoint?
1 Per-IP · 60 / min 2 Per-token · 10 / min
↳ or tell it something different
Plan · 3 steps
  • 1 Signed, expiring share_token
  • 2 Public route /s/:token
  • 3 Share button + migration
Code review · 2 findings
HighNo rate limit routes.ts:22
MedToken not URL-encoded share_link.ts:14
Fix selected (1)Fix all
Shipped to main
Branchfeat/share-links
Commit1a9ac66
PR #128 merged
Mark doneOpen PR
same agent · run it as chat or CLI running
terminal
✳ Claude Code · ~/pulse
read routes.ts · tokens.ts
edited share_link.ts
pnpm test — 24 passed
12.4k tokens · 3.4s
> add a rate limit
chat
Add a public share link.
Read the routes + token helper. Plan ready.
✓ 3-step plan · approved
Shipped — PR #128.
Message the agent…
agents · board 1 running
To do
Fix report timezones
Migrate auth flow
In progress
Shareable dashboard link
Done
Dark-mode polish
Export pipeline
resume any run · full history kept
connect your agents connected
Claude Code connected · your key
Codex connected · your key
More, soon
The tools you already use. Your keys, your machine, no usage fees.
the project

Your whole project, one window

Code, git, database, the services you run — everything you'd normally scatter across five apps, together, per project.

pulse · code editing
share_link.tsroutes.ts
1 2 3 4 5 6
// signed, expiring share link export async function createShareLink(id) { const token = await signToken(id, { expiresIn: "7d" }) await db.shareLinks.insert({ dashboardId: id, token }) return `/s/${token}` }
pulse · src
share_link.ts
routes.ts
tokens.ts
db.ts
lib
routes
git · pulse 4 changes
Ready to ship
commit message + PR, written by AI
Commit
feat: shareable dashboard links
Pull request
Add shareable dashboard links
Read-only links with a 7-day expiry, signed with the existing token helper. Adds a public /s/:token route and a migration.
Commit + push + open PR
Changes 4
share_link.ts+48 −2
DashboardShare.tsx+23 −4
api/routes.ts+6
20260701_share.sql+14
mongodb · pulse.dashboards connected
{ status: "active" } · 12 docs
6a1f…c2 Q4 revenue 1,240 views
6a1f…e8 · Signups unsaved
{ "name": "Signups", "status": "active", "views": 318 }
Save Cancel
6a20…04 Churn 92 views
6a20…9f Retention 540 views
pulse Server :3000 Web :5173
pulse · scripts
dev server
web
test suite
build
pnpm dev
> pulse@1.0.0 dev
ready in 412 ms
Local:   http://localhost:3000
Web:     http://localhost:5173
GET /api/dashboards 200 · 8ms
spec → ship

Spec it, then ship it

Write it down, link everything it touches, then hand the whole picture to an agent — no copy-pasting a thing.

context · share-links.md drafting
Share links
Doc assistant
Tighten the goals.
Done — three bullets, each a user + outcome.
Ask about this doc
context · references 4 linked
Visual references
share-modal
figma.com/…
figma
empty-state.png
/assets
image
dashboard-v2
mockup
mockup
stripe.com/docs/…
reference url
url
context · share-links.md 3 refs
Share links
A public, read-only link to any dashboard — signed, and expiring after 7 days.
Requirements
Reuse the token signer in share_link.ts
Follow the model in auth-tokens
Public route /s/:token resolves a dashboard snapshot
Design
Match the share modal:
share-modal
figma.com/…
figma
context · share-links.md in progress
share-links.md to do
Implement
Shareable dashboard link claude in progress
reading share-links.md · following the spec
read 4 files · drafted a plan
editing share_link.ts

Frequently
asked questions

Different jobs. An AI editor is a better way to edit code. Choro is where the whole product gets built and run — your agents, specs, git, data and services in one place. Plenty of people keep both; the day just mostly happens here.

Claude Code and Codex today, more on the way. They run with your own accounts and keys — Choro never sits between you and them.

No. Choro doesn’t meter tokens or resell anything. You bring the agents you already pay for — Choro is the workspace around them.

No. Everything runs locally — your projects, history and database access stay on your machine. Nothing leaves unless you push it.

That’s the point. Every project gets its own space — its agents, scripts, services and docs — side by side in one window.

It helps. Choro is built for people shipping real products — the agents write most of the code, and a real editor and terminal are right there whenever you want to go hands-on.

yours, entirely

Local. Yours. Fast

It all runs on your machine, with the agents you already have. No cloud. No telemetry. No usage fees. Native, and instant.