Skip to content

zajaccount/iskra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ikohi

A 24-hour URL for self-contained HTML prototypes, with the design rationale baked in. Prototypes should be websites someone clicks, not files they have to download — I publish one HTML file plus a cleaned scratchpad markdown, and the service returns an unguessable link that hosts an interactive viewer for 24 hours, then deletes itself. No accounts. The URL is the only identifier; a paired delete URL is the only ownership credential.

why

  • Sharing an HTML prototype today is annoying. Build the file, attach it in Slack, the recipient downloads it, hunts for it in Downloads, opens it locally — the browser sometimes blocks it, the relative paths sometimes break, the asset doesn't load. ikohi turns it into a URL: paste the link, the recipient clicks, it opens like any website.
  • The 24h expiry digitises "got a minute?" — if the recipient can engage in the window, the conversation happens now; if they can't, "the link dies so the conversation can live". The TTL is the coordination signal, not a storage constraint.
  • The rationale travels with the prototype. A scratchpad is a running markdown log that records the small decisions you make while directing an AI agent — why this is a popup not a tooltip, why the button reads "next" not "continue". Long Claude Code sessions are too dense for summaries to capture those choices; the scratchpad keeps them at the granularity they were made. ikohi ships the cleaned scratchpad alongside the prototype, so a reviewer sees both the destination and the reasoning behind every small call — with no separate design doc.

how it works

The sender flow is one Claude Code skill, /iskra, with two triggers. At the start of a build session I say "iskra" — the skill bootstraps a scratchpad and starts recording rationale as a side effect of building. When the prototype is ready I say "publish this" — the skill cleans the scratchpad, posts both files as multipart to POST /upload, and prints back { id, url, deleteUrl, expiresAt } plus opens the viewer. The recipient (also on Claude Code) pastes the share URL; their agent WebFetches /[id]/raw, edits locally, re-publishes as a new share. Shares are immutable; iteration is a chain of uploads. Expired shares return 410.

sender CC ──"iskra"──► scratchpad recording starts
              │
              ▼
        ──"publish this"──► POST /upload ──► R2 + KV
                                     │
                                     ▼
              { id, url, deleteUrl, expiresAt }
                                     │
                                     ▼
                  recipient CC ──WebFetch /[id]/raw──► local edit ──► new /iskra session

Cloudflare Workers + R2 + KV. nanoid IDs. Viewer iframes the prototype with sandbox. Endpoints: POST /upload, GET /[id], GET /[id]/raw, GET /[id]/scratchpad, POST /[id]/delete?key=.... TTL: 24h, hard.

quickstart

Sender entry point in v1 is the Claude Code skill /iskra. Trigger phrases: "iskra" at session start (begins scratchpad recording), "publish this" when the prototype is ready (uploads + returns the share URL). No web drop-zone. Install: TODO.

Recipient surface is the built-in WebFetch against /[id]/raw — no install, any Claude Code session works. Non-Claude-Code users are out of scope for v1.

roadmap

  • v0POST /upload accepts multipart HTML + markdown, writes R2 + KV. Viewer renders the HTML full-bleed in a sandboxed iframe with expiry countdown and Download HTML. Sidebar drawer renders the scratchpad as markdown. /iskra works end-to-end.
  • v0.5 — Delete endpoint wired up. Sandbox hardening. Rate limit on /upload. Cost telemetry against the ≤ $40 launch-budget challenge.
  • v1 — Launch Thursday, June 4, 2026. An "ephemeral mutual-attention primitive" for me and a few close collaborators on Claude Code. No auth, no billing, no moderation. Where this goes next: element-bound rationale (scratchpad sections pointing at specific DOM nodes), more artifact types, then the same primitive embedded inside Slack / Discord / Notion / Figma / email.

license

MIT

About

ephemeral 24-hour HTML prototype host. the link dies so the conversation can live.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors