Most Chrome extension tutorials show you a popup with a counter. Click a button, increment a number, done. That's fine for learning the API. But what if your extension needs OAuth with PKCE, multi-tenant team switching, content script injection into arbitrary web pages, offline detection, session refresh via background alarms, and role-based access control? We built a Chrome extension for PaperLink - a document sharing and analytics platform. The extension lets you create secure share links for your documents and insert them directly into any text field on any page - Gmail compose, Slack message box, Google Docs, whatever you're typing in. We used Clean Architecture for the whole thing. Here's what that looks like in practice, and why we'd do it again.…