Hi everyone! 👋
I'm Pluong06, a developer based in Vietnam who loves tinkering with modern web tools and building practical productivity utilities.
A while ago, I decided to step outside the usual sandbox of web apps and build a real-world Chrome Extension using Manifest V3. Like many developers diving into browser extensions for the first time, I quickly realized that building inside a browser tab comes with its own unique set of rules, challenges, and architectural quirks.
Here are a few honest takeaways and lessons I learned along the way.
- The Reality of Manifest V3 & Service Workers If you've read older extension tutorials, they probably talked about persistent background pages. In Manifest V3, that model is gone—replaced by event-driven Service Workers.
No persistent memory: The service worker can go dormant after a few seconds of inactivity. You cannot rely on global in-memory variables to keep state.
Embracing asynchronous storage: Everything from user preferences to session states needs to be reliably synced using chrome.storage.local or chrome.storage.sync.
Lightweight is king: Keeping your background script decoupled from heavy DOM manipulation is essential for battery life and tab performance.
- UI/UX: Less is Definitely More When building a browser extension, user attention is your most scarce resource. Nobody opens an extension popup to read a novel or navigate through endless tabs.
Frictionless interface: Clean layouts, accessible color contrast, and instant feedback loops make a massive difference.
Speed: Users expect actions (like formatting content, extracting data, or toggling features) to happen in milliseconds. Client-side processing should be optimized to never block the main UI thread.
- Shipping to the Chrome Web Store The journey doesn't end when the code compiles locally. Preparing an extension for publication taught me a lot about software distribution:
Writing clear, privacy-first privacy policies.
Declaring strictly necessary permissions in manifest.json to keep user trust high.
Structuring clean release notes and listening closely to feedback from the first cohort of users.
What's Next?
Building browser extensions has completely changed how I look at everyday productivity. There is something deeply satisfying about building a lightweight utility that lives right inside your daily workflow and solves real friction.
I'm continuing to refine my tools, experiment with modern web APIs, and build new projects under the Pluong06 banner.
🔗 Check out my projects on GitHub: github.com/Pluong06
🚀 Explore my Chrome Extensions: https://chromewebstore.google.com/detail/clipboard-manager-%E2%80%93-clipb/ikmeicjclebilkbenhcfljjpclpdaehf?authuser=0&hl=vi
https://chrome.google.com/webstore/devconsole/7aed4c12-5b9f-48e8-8ba3-a71ea3112c52/hpnjccjokfkjcgcbhklcbibkmbkkdpkj/edit
If you're also building extensions or experimenting with Manifest V3, I'd love to connect and exchange thoughts in the comments below!
Top comments (0)