Manifest V3
Vanilla JS (ES Modules)
Chrome APIs
Vite
Vitest
Stripe
Supabase
Vercel

The brief
Chrome extension that turns the new tab into a market dashboard: live stock watchlists, a portfolio tracker and a market bar, alongside Kanban-style bookmark boards. Privacy-first, synced through Chrome, no ads.
Overview
ZenStack is the new tab for people who watch markets. Opening a tab shows live prices, your portfolio and the links you actually use, without opening Yahoo, a broker or five bookmark folders. Everything you save lives in native Chrome bookmarks, so it syncs across devices and there is no lock-in. The free version covers the full workflow; Pro (zenstack.space) adds unlimited boards, watchlists and portfolios, all wallpapers and extended market hours.
Highlights
- Live watchlists – Prices, % change and sparklines, with 20 one-click presets (Magnificent 7, AI & Chips, ETFs, Canada, India and more).
- Portfolio tracker – Live value and today's P&L, in multiple currencies.
- Market bar – S&P 500, Nasdaq 100, Dow and your portfolio's day at the top of every tab.
- Kanban bookmark boards – Drag links between lanes; everything is saved into native Chrome bookmarks with two-way sync.
- Search and quick save – Ctrl+K across boards; save any page from the toolbar or the right-click menu.
- On-device AI (optional) – Files unassigned links into categories and cleans up titles with Chrome's built-in AI; links never leave the computer.
- Live wallpapers – Eight illustrated wallpapers drawn on-device, each with a light twin.
- Privacy – Boards stay in the browser; no ads, no selling data.
Under the hood
Manifest V3, vanilla JS (ES modules) with no framework, built with Vite and tested with Vitest. Chrome APIs: bookmarks, storage, tabs, topSites, search, identity, contextMenus, favicon. The Chrome bookmarks tree is the database, with chrome.storage.local as a cache that is reconciled on startup. Quotes come from Yahoo Finance. Payments and licensing run on a separate backend: Vercel serverless functions, Stripe and Supabase.
