bugspoon
A surgical tool for the modern network stack
As applications grow in complexity, the browser's network tab becomes a firehose of data. I built BugSpoon to solve the noise problem in modern web development.
- role
- Core architect
- architecture
- Event-driven
- platform
- Manifest V3
- stack
- JavaScript · extension APIs
- year
- 2025

The context
Every great developer tool starts with a personal frustration. For me, it was the chaos of the Network tab during high-stakes debugging sessions. When you're tracking a specific race condition across multiple microservices, the standard filter just doesn't cut it.
I found myself repeating the same filtering patterns every single morning. The friction wasn't just annoying; it was a cognitive tax on my engineering flow. I needed something that felt less like a generic browser feature and more like a dedicated workstation for network analysis.
We spend 40% of our time debugging. If we can optimise the tools we use, we reclaim our most valuable asset: focus.
The execution
Building for the browser requires a deep understanding of asynchronous event loops and the constraints of Chrome Extension Manifest V3. Here's how I approached the core engineering challenges.
Zero-latency filtering
A high-performance filtering engine that hooks directly into the chrome.webRequest and chrome.devtools.network APIs, so even with 1000+ requests a minute the UI stays fluid and responsive.
Isolated execution
Using service workers and background scripts, BugSpoon runs in its own execution context. It never interferes with the host page's DOM or performance.
Visual hierarchy
Instead of a flat list, a layout that puts actionable data first: large status codes, clear endpoint groupings and immediate access to headers make anomalies easy to spot.
Instant replay
Capture a specific network state and keep it across refreshes. Local storage and session APIs create a persistent debugging state.
The deep dive
Moving to Manifest V3 wasn't just about compliance; it was about security. The core logic moved to service workers so the background process never blocks.
The DevTools panel and the background script talk over a long-lived port, so updates arrive in real time without dropping frames or request data. Built on Manifest V3, service workers, long-polling, event listeners and the DevTools protocol.
// Manifest V3 architecture
chrome.runtime.onConnect.addListener((port) => {
port.onMessage.addListener((msg) => {
// high-speed data relay
handleNetworkStream(msg);
});
});Engineering for engineers
BugSpoon isn't just about code; it's about empathy for the developer experience. It's a reminder that we have the power to fix our own frustrations.