[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96722":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":9,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":24,"discoverSource":25},96722,"mimik","westpoint-io\u002Fmimik","westpoint-io","🪄 A browser extension that captures your workflow as you click and turns it into a step-by-step guide with annotated screenshots 📸",null,"https:\u002F\u002Fgithub.com\u002Fwestpoint-io\u002Fmimik","TypeScript",1190,160,2,7,0,20,60,83.62,false,"main","2026-09-25 04:01:33","\u003Cdiv align=\"center\">\u003Ca name=\"readme-top\">\u003C\u002Fa>\n\n\u003Cimg src=\"public\u002Fmascot.svg\" width=\"140\" height=\"140\" alt=\"Mimik mascot\" \u002F>\n\n# Mimik\n\n**English** · [Español](.\u002FREADME.es.md) · [Português (BR)](.\u002FREADME.pt-BR.md) · [Français](.\u002FREADME.fr.md) · [简体中文](.\u002FREADME.zh-CN.md)\n\n**Auto-capture any browser workflow into a step-by-step guide. No account, no cloud, no tracking.**\n\nClick record, do the thing, get a polished guide with annotated screenshots. Narrate it as you go, edit it after, then replay or export.\n\n\u003C!-- SHIELD GROUP -->\n\n[![License][license-shield]][license-link]\n[![Manifest V3][mv3-shield]][mv3-link]\n[![100% Local][local-shield]][local-link]\n[![No Account][no-account-shield]][no-account-link]\n\u003Cbr\u002F>\n[![Stars][star-shield]][star-link]\n[![Contributors][contributors-shield]][contributors-link]\n![Last Commit][last-commit-shield]\n[![Issues][issues-shield]][issues-link]\n\n\u003C\u002Fdiv>\n\n\u003Cdetails>\n\u003Csummary>\u003Ckbd>Table of contents\u003C\u002Fkbd>\u003C\u002Fsummary>\n\n#### TOC\n\n- [📺 Demo](#-demo)\n- [👋 Getting Started](#-getting-started)\n- [✨ Features](#-features)\n  - [🔒 Smart Blur](#-smart-blur)\n  - [🧠 AI descriptions (optional)](#-ai-descriptions-optional)\n  - [▶️ Guide Me replay](#️-guide-me-replay)\n  - [🎙️ Voice narration (optional)](#️-voice-narration-optional)\n  - [✏️ Guide editor](#️-guide-editor)\n  - [🔊 Video voice-over (optional)](#-video-voice-over-optional)\n  - [📤 Multi-format export](#-multi-format-export)\n  - [📦 Share a guide](#-share-a-guide)\n- [🔐 Privacy & storage](#-privacy--storage)\n- [🤝 Contributing](#-contributing)\n- [⭐ Star History](#-star-history)\n- [📜 License](#-license)\n\n\u003Cbr\u002F>\n\n\u003C\u002Fdetails>\n\n## 📺 Demo\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F9de20b45-2256-4127-8242-141cf1802f39\" alt=\"Mimik demo\" width=\"800\" \u002F>\n\u003C\u002Fdiv>\n\n## 👋 Getting Started\n\nMimik turns any repetitive browser task into a documented, shareable guide in seconds. It runs entirely in your browser. No backend, no account, no telemetry, and nothing ever leaves your device.\n\nWhether you're documenting internal tools, writing product tutorials, or onboarding a teammate, Mimik captures every click, keystroke, and navigation automatically so you can focus on the work.\n\nEvery meaningful action becomes a step: clicks on buttons and links, form inputs, keyboard shortcuts, clipboard actions, drag events, and page navigations. Rapid clicks on nearby elements are merged so guides stay clean, and clicks are intercepted before the page navigates away, so nothing is lost on SPAs or full page loads.\n\nEach step gets a screenshot with the clicked element highlighted and zoomed in. No manual cropping, no annotation tools to learn.\n\nNeed the recording to look away for a moment? **Pause** stops capture without ending the recording, and **Resume** picks up where you left off. Entering Smart Blur pauses it the same way.\n\n| Browser | Version | Install |\n| ------- | ------- | ------- |\n| Chrome  | [![Chrome Version][chrome-version-shield]][chrome-link]   | [Chrome Web Store][chrome-link] |\n| Firefox | [![Firefox Version][firefox-version-shield]][firefox-link] | [Firefox Add-ons][firefox-link]  |\n| Edge    | [![Edge Version][edge-version-shield]][edge-link]          | [Microsoft Edge Add-ons][edge-link] |\n\nAvailable in English, Spanish, Brazilian Portuguese, French, German, and Simplified Chinese. The AI description language is set separately, so you can run Mimik in English and generate guides in Spanish, or any combination.\n\n> \\[!IMPORTANT]\n>\n> **⭐️ Star the repo** if Mimik saves you time. It helps other people discover it!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwestpoint-io\u002Fmimik\">\n  \u003Cimg width=\"100%\" alt=\"Star Mimik on GitHub\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F80d304da-a765-4bde-bf49-b1bdcb4fe804\" \u002F>\n\u003C\u002Fa>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n## ✨ Features\n\n### 🔒 Smart Blur\n\nSmart Blur is a mode you enter while recording, not an always-on filter. Click **Blur** and capture pauses, Mimik detects and masks sensitive data on the page — emails, phone numbers, SSNs, credit cards, IP addresses, MAC addresses — and screenshots of that page keep it hidden once you click **Done**. Toggle each category independently.\n\nNeed to blur something custom? The manual blur picker lets you select any DOM element and mask it across every screenshot where it appears.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>What Smart Blur does not cover\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Cbr\u002F>\n\nSmart Blur works by scanning text nodes and input values in the page's top frame. That leaves real gaps, all structural. If you rely on this for GDPR or similar, check your screenshots rather than assuming a clean one is a safe one:\n\n| Not covered | Why |\n|-------------|-----|\n| Content inside iframes | Skipped entirely; cross-origin frames are unreachable from the page |\n| Shadow DOM | The scan walks the document and does not descend into shadow roots |\n| Text painted on a `\u003Ccanvas>`, and text inside images | Pixels, not text |\n| CSS `::before` \u002F `::after` content | Not a text node |\n| `\u003Cselect>` and `\u003Coption>` text | Excluded from the scan |\n| Values held only in attributes, such as `title` or `alt` | Only text nodes and input values are scanned |\n| Frames other than the top one | The overlay and the scan run in the top frame only |\n| Any tab but the one you entered the mode on | Only that tab is scanned; a second tab on the same app is not |\n| Text that appears after you click **Done** | The scan stops with the overlay, so an SPA re-render, the next page of a list, or a navigation is unmasked — re-enter Blur there |\n\nTwo things worth knowing about what *is* handled: a match inside SVG `\u003Ctext>` is removed from the render rather than blurred, because the mask is an HTML element that SVG will not draw — the data does not leak, but it disappears instead of blurring. And a matching `\u003Cinput>` or `\u003Ctextarea>` is blurred **as a whole field**, not just the matched substring.\n\nBlur applies from the moment you enter the mode onward. Screenshots already captured before that are not masked retroactively — delete those steps in the editor instead.\n\n\u003C\u002Fdetails>\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F968d2518-c561-4d68-92a6-3d5f569fe38a\" alt=\"Smart Blur\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### 🧠 AI descriptions (optional)\n\nBring your own API key (OpenAI or Anthropic) and Mimik generates human-readable step descriptions like *\"Click the **Submit** button to save changes\"* instead of the rule-based `Click Submit`.\n\nDescriptions are generated from a lightweight DOM context (~50-100 tokens), not screenshots. Roughly 15-30x cheaper than vision models. Choose the language you want descriptions in (English, Spanish, Portuguese, French, German, Chinese).\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3540cbd5-133f-46fd-a9b6-ffce9b4d422a\" alt=\"AI descriptions\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### ▶️ Guide Me replay\n\nReplay any guide live on a real page. Mimik highlights the next element to click, tracks your progress step by step, and advances automatically as you interact. Perfect for onboarding teammates or walking through a process yourself.\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F56ffca1d-5074-491f-8571-dd70782d4b05\" alt=\"Guide Me replay\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### 🎙️ Voice narration (optional)\n\nTalk through the workflow out loud while you record and Mimik turns what you said into the step\ndescriptions. Audio is transcribed with your own key (OpenAI or Groq) and matched to the steps it\nbelongs to, so you narrate once instead of writing every step by hand.\n\nThe full transcript is kept, not just the parts that made it into a step. Open **Transcript** on a\nguide to see everything you said, including the lines nothing was matched to, and add any of them to\na step. Editing a step never destroys the spoken original either — the step editor can always put\nback what you actually said. The transcript stays on your device, is never part of an exported guide, and is\ndeleted with the guide.\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F061fddc7-da65-4641-8b39-d30b80c36531\" alt=\"Voice narration\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### ✏️ Guide editor\n\nFix a guide after the fact without re-recording. Crop, annotate and redact any screenshot, rewrite a\nstep with AI inline, drop headings and notes between steps, reorder or bulk-delete, and roll back\nthrough version history.\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F62d3a01e-b129-44c8-8ba3-e9b97ff08d7e\" alt=\"Guide editor\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### 🔊 Video voice-over (optional)\n\nTurn it on in the export panel and every step of a video export is read aloud, using your own OpenAI\nor ElevenLabs key. If you already set an OpenAI key for AI descriptions, Mimik reuses it — there is\nnothing else to sign up for. Narrated steps hold on screen until the voice finishes, so nothing gets\ncut off, and clips are cached locally so re-exporting the same guide costs nothing.\n\nOff by default: holding a key never turns narration on, you do.\n\n### 📤 Multi-format export\n\nShare guides in whatever format fits your workflow:\n\n- **Video**: narrated walkthrough, mp4\u002FH.264, with the cursor moving to each target — optionally with an\n  OpenAI or ElevenLabs voice-over reading every step aloud, which also makes the export usable under Section 508\n- **GIF**: short looping clip for a chat thread or an issue comment\n- **PDF**: print-ready, A4 portrait with auto page breaks\n- **DOCX**: open and keep editing in Word\n- **HTML**: self-contained, share anywhere, base64-embedded images\n- **Markdown**: paste into Notion, GitHub, internal docs, wikis\n- **Mimik file**: the only format that imports back — see [Share a guide](#-share-a-guide) below\n\nAll exports are generated client-side. Nothing touches a server.\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe7584527-7d68-4f3f-9261-8380ee08dfb4\" alt=\"Multi-format export\" width=\"800\" \u002F>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n### 📦 Share a guide\n\nExport a guide as a **`.mimik` file** and someone else can import it into their own\nMimik — same steps, same screenshots, still editable, and still replayable with Guide\nMe. It's a plain zip: a manifest, the screenshots, and a `README.md` so the file still\nreads as a document to anyone without the extension.\n\nIt travels as a file, so sharing works the same way anything else does — email it, drop\nit in Slack, commit it to a repo. There's no account and no server involved.\n\nBecause a guide can hold more than you meant to send, an export decides what leaves:\n\n- **Blurred areas are burnt into the pixels** before the file is written, so the\n  recipient has nothing to un-blur.\n- **Text you typed into fields is removed** from the step text, title and links, not\n  just from the stored value.\n- **Links are trimmed to the page address** by default, dropping the query strings that\n  carry session tokens.\n\nScreenshots still show whatever was on screen when they were taken — use the blur tool\nfor anything sensitive that the camera caught.\n\nTo import, open the dashboard and click **Import**, or drop a `.mimik` file onto your\nlibrary. You'll see what the sender removed before anything is added.\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n## 🔐 Privacy & storage\n\nGuides, steps, and screenshots live on your device. There's no backend, no account, no telemetry. Your API keys (if you bring one) never leave your browser — they're stored locally and used to call the provider you chose directly.\n\nIf you are masking personal data before sharing a guide, read [what Smart Blur does not cover](#-smart-blur) first — it cannot reach iframes, shadow DOM, or text drawn into images.\n\nTwo things do leave the browser, both documented in the [privacy policy](https:\u002F\u002Fmimik.westpoint.io\u002Fprivacy\u002F): site icons are fetched from Google's favicon service, which sends that site's domain, and the optional AI, voice narration and video voice-over features send text or audio to the provider you configured — voice-over sends each step's text at export time, and only when you turn it on.\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n## 🤝 Contributing\n\nContributions of all kinds are welcome: bug reports, feature requests, PRs, and translations.\n\nSee [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) for development setup, project layout, and contributor guidelines.\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n## ⭐ Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F#westpoint-io\u002Fmimik&Timeline\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=westpoint-io\u002Fmimik&type=Timeline&theme=dark\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=westpoint-io\u002Fmimik&type=Timeline\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=westpoint-io\u002Fmimik&type=Timeline\" width=\"800\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n## 📜 License\n\nMIT © [Westpoint](https:\u002F\u002Fgithub.com\u002Fwestpoint-io). See [LICENSE](.\u002FLICENSE) for details.\n\n\u003Cdiv align=\"right\">\n\n[![Back to top][back-to-top]](#readme-top)\n\n\u003C\u002Fdiv>\n\n\u003C!-- LINK GROUP -->\n\n[back-to-top]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-BACK_TO_TOP-1E1B4B?style=flat-square\n\n[license-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-4F46E5?style=flat-square&labelColor=1E1B4B\n[license-link]: .\u002FLICENSE\n\n[mv3-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmanifest-v3-3730A3?style=flat-square&labelColor=1E1B4B\n[mv3-link]: https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fextensions\u002Fmv3\u002Fintro\u002F\n\n[local-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstorage-100%25%20local-4F46E5?style=flat-square&labelColor=1E1B4B\n[local-link]: #-100-local-storage\n\n[no-account-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Faccount-not%20required-4F46E5?style=flat-square&labelColor=1E1B4B\n[no-account-link]: #-100-local-storage\n\n[star-shield]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fwestpoint-io\u002Fmimik?style=flat-square&label=stars&color=4F46E5&labelColor=1E1B4B\n[star-link]: https:\u002F\u002Fgithub.com\u002Fwestpoint-io\u002Fmimik\u002Fstargazers\n\n[contributors-shield]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fwestpoint-io\u002Fmimik?style=flat-square&labelColor=1E1B4B\n[contributors-link]: https:\u002F\u002Fgithub.com\u002Fwestpoint-io\u002Fmimik\u002Fgraphs\u002Fcontributors\n\n[last-commit-shield]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fwestpoint-io\u002Fmimik?style=flat-square&label=commit&labelColor=1E1B4B\n\n[issues-shield]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fwestpoint-io\u002Fmimik?style=flat-square&labelColor=1E1B4B\n[issues-link]: https:\u002F\u002Fgithub.com\u002Fwestpoint-io\u002Fmimik\u002Fissues\n\n[chrome-version-shield]: https:\u002F\u002Fimg.shields.io\u002Fchrome-web-store\u002Fv\u002Fjmfohdaflahliammccpiadmkcibohgha?label=Chrome%20Version&style=flat-square&logo=googlechrome&logoColor=C7D2FE&color=4F46E5&labelColor=1E1B4B\n[chrome-link]: https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fmimik\u002Fjmfohdaflahliammccpiadmkcibohgha\n[firefox-version-shield]: https:\u002F\u002Fimg.shields.io\u002Famo\u002Fv\u002Fmimik?label=Firefox%20Version&style=flat-square&logo=firefoxbrowser&logoColor=C7D2FE&color=4F46E5&labelColor=1E1B4B\n[firefox-link]: https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fmimik\u002F\n[edge-version-shield]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Fhgjemhfoffebbollleajkpefblppleai&query=%24.version&label=Edge%20Version&style=flat-square&logo=microsoftedge&logoColor=C7D2FE&color=4F46E5&labelColor=1E1B4B\n[edge-link]: https:\u002F\u002Fmicrosoftedge.microsoft.com\u002Faddons\u002Fdetail\u002Fhgjemhfoffebbollleajkpefblppleai\n\u003C\u002Fcontent>\n\u003C\u002Finvoke>\n","2026-09-24 02:30:10","trending"]