v0.1.3 · early access · hosted beta

Ship feedback at agent speed.

Peekable lets agents show work to humans and turn comments into the next iteration. Share a mockup or the app running on your computer, collect feedback right on the page, then pull the notes back into your agent as structured context.

~/projects/checkout-flow — zsh
· Ran peekable create "Checkout v3 — cart" --json
  ↳ {"id":"8jYX99tcWr","mode":"static","url":"https://peekable.fyi/s/8jYX99tcWr"}
· Ran peekable push 8jYX99tcWr ./build/cart.html --json
  ↳ {"version":1}

· Shared on Peekable:
  https://peekable.fyi/s/8jYX99tcWr
  Pushed v1 · waiting for feedback
peekable.fyi/s/8jYX99tcWr
LIVE v3 · 2 min ago

Your cart

2 items · ships in 3–5 days

Subtotal · $353.00 Checkout

↑ click any element to annotate · widget stays in the corner

An agent-first review layer for work in progress.
$ peekable create · peekable push · peekable feedback
01 HOW IT WORKS

From terminal to teammate in 3 seconds.

Peekable runs from your shell or your agent. No accounts to wire up, no dashboards to babysit, no build pipeline to thread. Just a URL.

01 · SHARE

Push any HTML artifact to a shareable URL.

Static HTML, a brainstorm screen, slides, a report. Run peekable create for a share ID, then peekable push for each new version. Reviewers always see the latest.

$ peekable create --json
$ peekable push 8jYX99tcWr ./out.html
peekable.fyi/s/8jYX99tcWr
02 · RELAY

Or relay localhost from anywhere.

Running a dev server? Peekable proxies your local port to a public URL so a reviewer on a phone — or you on the couch — can poke around without deploying.

$ peekable proxy 3000
peekable.fyi/s/dev-maya
03 · LOOP

Feedback flows back as context.

Reviewers click on elements and drop notes. Your next agent loop pulls them in as structured JSON — selector, element text, DOM path, route, version, reviewer — not vibes. Resolve and push the next version.

$ peekable feedback 8jYX99tcWr --json
3 comments · 2 unresolved
02 ELEMENT FEEDBACK

Comments that point at code, not pixels.

When a reviewer leaves a note, Peekable captures the element, its CSS selector, computed text, route, version, and viewport dimensions. Your agent gets a JSON payload it can actually act on.

comments.json
webhook.ts
.peekablerc
// peekable feedback --json --since 1h
[
  {
    "id": "cmt_8x2k4p",
    "reviewer": "maya@forge.dev",
    "page": "/s/8jYX99tcWr",
    "version": "v3.0.2",
    "selector": ".cart-item--headphones",
    "element_context": {
      "tagName": "div",
      "innerText": "Aurora Headphones · $289",
      "boundingBox": { "left": 32, "top": 184, "width": 312, "height": 96 },
      "viewport": { "width": 393, "height": 852, "dpr": 3 }
    },
    "body": "Move the price under the title?",
    "resolved": false
  }
]
CONTEXT > THREADS

Every comment is structured context.

Slack threads die. Screenshots get stale. Peekable saves the clicked element's selector, DOM path, nearby text, viewport, and push version so your agent can reason from the exact review context.

  • CSS selector + DOM path — identifies the clicked element, not just pixel coords
  • Element text + computed styles + viewport dimensions — enough for visual agents
  • Page route + push version — so feedback is pinned in time
  • Reviewer name + timestamp — for accountability
  • Read it via CLI — peekable feedback --json — pipe it however your agent wants
REVIEWER · IPHONE 15
peekable.fyi/s/8jYX...●LIVE
Your cart
Aurora Headphones
$289 · Matte Sage
Woven Belt · $64
drop a note · long-press
BUILDER · LAPTOP
$ peekable feedback --watch
↳ watching peekable.fyi/s/8jYX99tcWr

new comment · 2s ago
  selector: .cart-item--headphones
  from: maya@forge.dev
  body: "move price under title?"

$ peekable feedback 8jYX --json | claude
↳ 1 comment · queuing edit…
patched in CartItem.tsx
REMOTE · ASYNC · AGENT-AWARE

You're not at the laptop. Your agent is.

The whole point: you don't have to be in front of the machine that's building. Be on the train, on a phone, on someone else's couch — Peekable links go anywhere, and feedback comes back the way your agent likes it.

  • Phone-first review — pinch, scroll, click an element
  • Multiple reviewers — share the link with a teammate or client
  • Versioned pushes — every peekable push increments a version
  • Resolve in CLIpeekable resolve <id> closes the loop
REAL-TIME · WEBSOCKET

Two people. One page. Zero refresh.

Share the link with a teammate and you're both on the same live session. When one of you drops a pin, it lands on the other screen in the same breath — no reload, no "did you see my comment yet?"

Both viewers see every pin as it lands · powered by a live websocket, not polling

WATCH MODE · BATCH NOTIFY

One command. Know the instant feedback lands.

Run peekable watch <session-id> in your terminal. When a reviewer submits their annotations, you get a single, clean notification — not a stream of noise for every pin.

watch fires once per submit batch — your agent isn't woken for every pin

03 USE CASES

Built for the way you actually ship now.

Whatever your loop looks like — solo with Claude, a tiny team, or a designer reviewing an agent's PRs — Peekable slots in without changing your stack.

SOLO · ASYNC · AGENT

Vibe-check what your agent built — from anywhere.

Claude is building locally on your desktop. You're at lunch. Peekable lets you peek at the result on your phone, drop a few notes, and walk back into your office to a queued patch.

your desk
claude
building…
you, on a bench
peekable.fyi/s/...
↓ feedback flows back ↓ claude patches ↓ you peek again
04 EVERYTHING IN THE BOX

A small CLI. A surprising amount of surface area.

Agent-friendly CLI

Designed to be called by an agent, not just a human. Predictable flags, stable JSON output, no interactive prompts unless you ask. Works with Claude Code, Cursor, Codex, and anything that can shell out.

$ peekable feedback 8jYX99tcWr --json | jq

Localhost relay

Run peekable proxy <port> and your local dev server gets a public URL routed through Peekable. No deploy, no SSH gymnastics — just send the link.

$ peekable proxy 3000

Element-level annotations

Reviewers click any element on the page and leave a note. Comments stick to selectors, not pixels.

3 unresolved

Versioned pushes

Every peekable push bumps a version. Reviewers always see the latest, and feedback is pinned to the version it was left on.

push #1 → push #2 → push #3

Resolve & ship

Mark comments resolved from the CLI, then push the next version. The loop closes where you live — the terminal — not in another tab.

$ peekable resolve cmt_8x2k4p

Rich element context

Each comment carries selector, DOM path, element text, computed styles, bounding box, route, push version, and reviewer name.

selector · dom path · text
bbox · route · version

Watch mode

Tail new comments as they come in, while your agent is still working. Pipe them straight into the next prompt.

$ peekable feedback 8jYX99tcWr --watch

Claude & Codex skill

Drop-in instructions so Claude Code or Codex can create, push, and pull feedback as part of its loop — no orchestration code to write.

agent skill

Password-gated shares

Set a view secret on any session and reviewers unlock once. Rotate the secret and every existing viewer is kicked out instantly. No restart, no revoke queue.

view secret · rotatable

Safe by default

Point push-url at anything. It won't touch localhost, RFC1918 addresses, or cloud metadata endpoints unless you explicitly opt in. Redirects re-validate. Bodies get size-capped.

$ peekable push-url https://…

Live multi-viewer

Two reviewers open the same share and see each other's pins land in real time over a websocket. No refresh. No "did you see my comment yet?"

2 viewers · live · pins fan out
05 HOSTED BETA

Built for the first review loop.

The hosted beta runs on Peekable's managed service. We're focusing the first batch on the CLI and support loop, so hosted peekable.fyi is the fastest way in.

~/peekable — zsh
cli
# the whole loop, in your terminal
$ peekable create "Cart redesign" --json
  ↳ {"id":"8jYX99tcWr", "url":"peekable.fyi/s/..."}

$ peekable push 8jYX99tcWr ./out.html
  ↳ {"version":1}

$ peekable feedback 8jYX99tcWr --watch
  ↳ watching for new comments…

$ peekable resolve cmt_8x2k4p
$ peekable push 8jYX99tcWr ./out.html
  ↳ {"version":2}
06 PRICING

Founding Creator $19/mo.

Validate the review loop with a real hosted account, Stripe checkout, and a one-time paid beta invite.

  • Founding Creator access for the hosted beta
  • Full CLI — create, push, feedback, watch, resolve
  • Localhost relay via peekable proxy
  • Element-level annotations
  • Unlimited active sessions during validation
  • Agent skill for Claude Code & Codex
HOSTED · PEEKABLE.FYI $19per month · founding creator
FOUNDING CREATOR · LIMITED SPOTS

The next loop is one peek away.

Start checkout for Founding Creator access. You'll come back with your invite and setup steps.

$19/month · powered by Stripe · cancel anytime · Questions? Email support from the person building it.