What actually shipped, dated, including the bugs. If something here is not live yet, it does not belong on this page.
The 0.1.0 capture extension is live on the Chrome Web Store. The theme is recoverability: almost every change here exists because a mid-capture mistake used to mean starting over.
The recording badge was being burned into every captured screenshot, because the badge is part of the page that Chrome screenshots. It is now hidden for the instant of each capture and restored the moment the shot lands.
A capture could be lost entirely at the finish line: any step that could not be screenshotted sent a null image, and the API rejected the whole batch with a 400. Steps that genuinely cannot be shot (chrome:// and Web Store pages) are now accepted and labelled in the editor, and the badge warns you while you are on such a page.
Starter, Pro, and Team can now be billed yearly, and the pricing page has a cycle toggle so you can see both. Team stays per seat on annual with the same volume brackets at 2, 5, and 10 seats, so the yearly saving holds up as a team grows instead of collapsing at scale.
Alongside it, a pass over the places the product used to dead-end: gated features now explain what they unlock instead of failing silently, and errors after a page has loaded no longer wipe out the surface you were working on.
Every marketing page is prerendered to static HTML with its own JSON-LD graph, so search engines and answer engines read real content rather than an empty app shell. The site also publishes an llms.txt map generated from the same page specs, which means it cannot drift from the pages it describes.
The document builder combines several guides into one manual: an ordered mix of embedded guides and free text, exporting to the same self-contained PDF, HTML, and Markdown. It is available on every plan, including free.
Video trimming now renders an actual MP4 rather than storing playback markers, so a trimmed video is trimmed everywhere it goes, including downloads and embeds.
Sign in with an emailed link, with Google, or with Slack. Email links are single use and expire after 15 minutes. Sessions are opaque server-side records rather than self-contained tokens, so a session can actually be revoked.
Stripe webhooks are verified with an HMAC-SHA256 signature over the raw body, compared in constant time, and rejected outside a five minute window so a captured request cannot be replayed. Team seat counts sync automatically as members join and leave.
The data layer runs on either SQLite or Postgres behind one async driver, which is what let the hosted product move to Postgres without a rewrite. Deleting a guide or recording now also removes its stored screenshots and video, rather than orphaning files in the bucket.
Looking forward rather than back? The roadmap lists what we are building next, grouped by how near it is, with no dates we cannot keep.