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 — with the Choro workspace on your Mac.

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 — a simplified desktop app view for mobile

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
design
tasks

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. Every run keeps its status and history, so you can pick any of them back up.

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
Verification · 2 of 3 met
MetSigned, expiring token
MissedShare button in the header
Ask to fix (1)vs the spec
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…
solo · lanes 3 lanes live
main checkout-v2 search pricing one worktree each
files · this lane
Checkout.tsx+64 −9
cart.ts+21
stripe.ts+7 −1
git · this lane
feat/checkout-v2
RejoinShip PR
localhost:5174 this lane
its own worktree — files, git and a preview of its own. main never moves.
connect your agents connected
Claude Code connected · your account
Codex connected · your account
OpenCode connected · your account
More, soon
The tools you already use. Your accounts and provider plans, without Choro token markup.

Everything it should know, in one place

Specs, designs, references — and what your agents learn along the way. Kept with the project, handed over whole.

memory · pulse 12 remembered
Memorized
Share links reuse the token signer in auth/tokens.ts — never mint raw JWTs.
KeepUndo
Remembered on this project
Design tokens only — no raw hex in UI code. project
Deploys go through release.sh, never manual. project
Small PRs — one feature each. global
implement · from anything in progress
Start from any of these
share-links.md PULSE-142 share-modal · figma
Implement
Shareable dashboard link claude in progress
spec, ticket & design attached — the full picture
read 4 files · drafted a plan
editing share_link.ts
context · share-links.md drafting
Share links
Reuse the signer in share_link.ts
Follow the model in auth-tokens
Doc assistant
Tighten the goals.
Done — three bullets, each a user + outcome.
Ask about this doc
context · references 4 pinned
Pinned to this work
share-modal
figma.com/…
figma
empty-state.png
/assets
image
dashboard-v2
mockup
mockup
stripe.com/docs/…
reference url
url
Drop in a link, an image, a screenshot — it goes to the agent with the work.

Everything you'd alt-tab for

Git, your data, your tasks, a real editor — the rest of the day, in the same window. Choro even spots the services your app runs on — Stripe, Sentry, Vercel — dashboards and docs one click away.

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
tasks · pulse Jira · linked
PULSE-142 · Share links in progress
PULSE-139 · Report timezonesto do
Polish empty statespersonal · to do
Linear, Asana, ClickUp
Open a task, hand it to an agent — status syncs back to your tracker.
pulse · code editing
share_link.tsroutes.ts terminal
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
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

A real design tool, right in the project

Canvas, components, layout, prototyping, design tokens — a full design tool, scoped to the project you're building. Start from a doc or a ticket and the design opens right here. No exporting, no second app, no copies going stale.

design · pulse 3 frames
pages
Share links
Dashboard
assets
Button
Modal
Field
from PULSE-142 · Share links
Share modal
Share dashboard
Create a read-only link to Q4 revenue.
Expires in 7 days
Create link
Link created
Link created
Anyone with this link can view the dashboard.
pulse.app/s/9f2c41a8 Copy
View only
Done
Expired
Link expired
Jul 2
New link
design · pulse assistant editing
layers
Share modal
Link created
Title
Link field
Copy button
Expired
Link created · 480
Link created
Anyone with this link can view the dashboard.
pulse.app/s/9f2c41a8 Copy
Expires in 7 days
View only
Done
Expired
Link expired
This link stopped working on Jul 2.
New link
design assistant
Make the modal 480 wide, expiry under the link.
width 480 · expiry moved · back on the 8-grid
100%
frame
W480
H320
Gap8
style
Fillsurface
Radiusr-md
Textt-body
agent · implement design linked
Build the share-link flow reading design
Share modal · Link created · Expired3 frames
tokens it pulled
--radius-md--space-8 --surface-2--text-body --primary
writing
ShareModal.tsx+64
LinkCreated.tsx+38
share.css+21 −3
Live frames and real tokens — the design is the spec, not a screenshot.
compare · Link created 3 differences
the design
Link created
Anyone with this link can view the dashboard.
pulse.app/s/9f2c41a8 Copy
Expires in 7 days
Done
localhost:5173 · live
Link created 1
Anyone with this link can view the dashboard.
pulse.app/s/9f2c41a8 Copy
Expires in 7 days 2
Done 3
1 title 20 → 15 2 stack gap 20 → 8 3 button stretched Send all 3 to the agent

Your app, running right there

Don't tab out to see your work. Web, scripts and services — even your phone app — live inside Choro. And when something looks off, you just point at it.

preview · pulse Web :5173
localhost:5173
Views1,240
Signups318
Churn2.1%
Hot-reloads as agents edit — what ships is what you're looking at.
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
preview · pulse mobile live
The real thing — tap, scroll, type.
The agent ships; the screen updates.
review · frozen area selected
localhost:5173 · frozen
Views1,240
Signups318
Churn2.1%
to the agent
This card — one line, views in the title.
Send

No loose ends

Every run is checked against its source. Then the agent reviews its own code, while Choro keeps the full Git trail visible — diffs, generated commit and PR copy, plus the complete history of commits and pull requests.

verification · share-links.md 2 of 3 met
Verified against the spec · share-links.md
MetSigned, expiring share_token
MetPublic route /s/:token
MissedShare button in the dashboard header
Ask to fix (1)Mark done
Runs by itself when an agent finishes — checked against the doc, plan or ticket it started from.
code review · pulse 2 findings
Code review · 2 findings
HighNo rate limit routes.ts:22
MedToken not URL-encoded share_link.ts:14
Fix selected (1)Fix all
One click in the chat — the same agent reviews its own work, findings become fixes.
diff · share_link.ts +48 −2
share_link.ts+48 −2
export async function createShareLink(id) {
− return null
+ const token = await signToken(id, { expiresIn: "7d" })
+ await db.shareLinks.insert({ dashboardId: id, token })
+ return `/s/${token}`
}
DashboardShare.tsx+23 −4
20260701_share.sql+14
ship · pulse ready
commit message + PR, written by AI
Commit
feat: shareable dashboard links
Commit + push + open PR
Shipped to main
Branchfeat/share-links
PR #128 merged

Never lose the thread

Everything knows where it came from — and where it went. Every link works in both directions.

Open an agentSee the ticket and spec that started it.
Open the docSee the agent that built it and whether it’s verified.
Open the taskSee the pull request that closed it.

Your agents, in your pocket

Choro Remote is a remote for the agents running on your Mac — look in on any run, answer its questions, approve a plan, or start a new agent from anywhere. The agents and working copy stay on your Mac; your phone connects as a controller through an application-encrypted relay.

See every agent live — status and what it's working on, across all your projects.
Answer & approve on the go — reply to questions, approve plans, steer a run.
Start an agent from anywhere — brief it on your phone; it runs on your Mac, in sync.

Local. Yours. Fast

Choro’s coding workspace and agents run on your Mac. No Choro-hosted coding machine. No Choro product telemetry. Provider plans remain yours. Native, and instant.

Choro is ready. The doors are opening in waves.

The app is built. Now we’re sharpening it with a smaller crew before the full release. Drop your email and we’ll pull you into the next wave.

Your email is for beta access, not a newsletter treadmill. Privacy