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 an HTML mockup or live localhost app, collect feedback directly on the page, then pull structured notes back into your coding loop.

~/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. 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": {
      "tag": "div",
      "text": "Aurora Headphones · $289",
      "bbox": [32, 184, 312, 96]
    },
    "body": "Move the price under the title?",
    "resolved": false
  }
]
CONTEXT > THREADS

Every comment is structured context.

Slack threads die. Screenshots get stale. Peekable comments stick to the element — even when the agent rewrites the DOM, they still point at .cart-item--headphones or whichever heuristic survives the rewrite.

  • CSS selector + DOM path — survives re-renders, not just pixel coords
  • Element text + computed styles + viewport bbox — 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
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
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

Free during early access.

We're keeping pricing simple while we ship. Get an early-access account today; we'll keep limits clear as the beta grows.

  • Full CLI — create, push, feedback, watch, resolve
  • Localhost relay via peekable proxy
  • Element-level annotations
  • Versioned pushes
  • Agent skill for Claude Code & Codex
HOSTED · PEEKABLE.FYI Freeduring early access · no credit card
EARLY ACCESS · LIMITED SPOTS

The next loop is one peek away.

Join the early access waitlist. We'll send you an account, the beta guide, CLI install steps, and support notes as the beta evolves.

no credit card · free during early access · hosted beta