Chrome extension
Snake King
A discreet reading bar for personal text, short notes, selected feeds and lightweight market updates.
Status: Prototype
- Category
- Chrome extension
- Technologies
- TypeScript, Vite, Manifest V3, Chrome APIs, Playwright
- Links
- To be confirmed
Summary
Snake King is an experimental Chrome extension that adds a compact reading line inside ordinary web pages. It keeps personal text, short notes, selected feeds and lightweight market updates available without requiring a separate reading application.
My role
I defined the product idea and built the extension from its permission model and local storage through to the injected reading interface, options experience, automated tests and release preparation.
Problem
Long articles, personal reading material and small reminders usually compete with the page already being used. The experiment asks whether a narrow, controllable reading surface can keep that information visible with less interruption.
Users and use case
The current prototype is aimed at people who want to read their own text, glance at selected information or keep a short reminder visible while continuing to work in another browser page.
Constraints
Chrome does not allow an extension to add permanent interface below the native bookmark bar, so Snake King must render inside permitted web pages. The product also avoids a hosted backend and keeps personal content, preferences and credentials in the local browser profile.
Solution
A toolbar action injects a single reading bar into the active page. It supports horizontal or vertical movement, pause and speed controls, memos, imported text, reading progress, selected news sources, user-configured data feeds and experimental stock quotes.
Architecture and workflow
The extension uses Chrome's current extension manifest with a background service worker, an isolated Shadow DOM interface and versioned local storage. Optional permissions are requested only for sources selected by the user, while outside content is rendered as plain text rather than remote markup.
Key decisions
Snake King is invoked per tab instead of requesting broad access at installation. Personal text remains local, source permissions are granted individually and article extraction is limited to permitted public pages without bypassing paywalls or retaining full copies.
Testing and delivery
Vitest covers the content and state logic, while Playwright loads the built extension into Chromium and exercises injection, reading controls, local content, saved progress, navigation and hostile page styling. Linting, type checking and production builds form the remaining release checks.
Current limitations
The first-use flow is still too easy to misunderstand, the options screen and in-page bar do not yet feel like one visual product, and store presentation needs stronger screenshots and explanation. The overlay can also cover a site's own sticky header.
Lessons and next steps
A functional extension is not automatically an understandable product. The next iteration focuses on onboarding, consistent visual language, clearer store material and more forgiving reading controls, including direct movement through paused text.
Screenshots

