Bastion is a Chrome MV3 extension that PIN-locks websites at the network layer with one master PIN, per-tab sessions, brute-force lockout, and a recovery phrase.
Bastion intercepts locked sites at the network layer using Chrome's declarativeNetRequest API. The request is redirected to a local challenge page before any real page data is fetched, so the locked site never touches the tab.
Bastion intercepts locked sites at the network layer using Chrome's declarativeNetRequest API. The request is redirected to a local challenge page before any real page data is fetched, so the locked site never touches the tab.
Unlocking is per tab. The four-digit PIN is hashed with PBKDF2 and a random salt, stored only in chrome.storage.local, and verified by the service worker. A six-word recovery phrase is generated during setup, and three failed attempts trigger a cooldown that re-locks every open tab on that domain.
The main technical choices behind the product, from system design to the parts that make it work day to day.
Additional work across AI products, developer tooling, and full-stack systems.
Next.js 16
An AI coding workspace where developers can describe apps in plain language, generate production-ready code, inspect and edit files in real-time, run projects in isolated Docker environments, publish live previews, and sync everything directly to GitHub without leaving the product.
Next.js 16
An AI chat platform that routes each request through the right context — memory, documents, tools, or research — and acts on the answer through connected apps.
Next.js
Creative production system built at Foyer Tech — led the v2→v3 rebuild with reusable templates, multi-model routing, and faster repeat workflows for high-quality visual asset creation.