š§ Dev.to, Un-Stuck: The Chrome Extension That Finally Fixes Your Reading List
You know the drill.
Youāre browsing DEV Community, you stumble upon a goldmineāāAdvanced TypeScript Patterns,ā āScaling Node.js Apps,ā something you know will make you better. You hit Save, feeling productive.
Then⦠nothing.
Weeks later, your reading list is a cluttered backlog of good intentions. Articles you meant to read. Articles you maybe did read. Articles youāve completely forgotten.
Thatās exactly the problem I set out to solve.
So I built Dev.to Un-Sticker ā a Chrome extension designed to turn your reading list from a graveyard into something actually useful.
šØ The Real Problem (In Detail)
After spending a lot of time in the MERN ecosystem and relying heavily on Dev.to for learning, I noticed two deeper issues beyond just ātoo many saved articlesā:
1. No Concept of Progress
The native reading list treats everything the same:
- Something you saved 5 minutes ago
- Something you finished last month
Thereās no way to distinguish between actionable and done. Over time, this destroys clarity.
2. Passive Storage = Forgotten Knowledge
Saving an article feels productiveābut itās actually passive. Without any system to bring that content back into your attention, it fades away.
This creates a dangerous loop:
Save ā Forget ā Save More ā Repeat
3. Cognitive Overload
When your list hits 100+ articles, it becomes overwhelming. Instead of helping you learn, it creates frictionāand you stop engaging with it entirely.
š” The Solution: Dev.to Un-Sticker
Un-Sticker turns your reading list into an active system, not just storage.
Instead of asking āWhat did I save?ā, it helps you answer:
āWhat should I read nextāand what have I already learned?ā
⨠Key Features
ā Read / Unread State (Finally)
Mark articles as Read once youāre done.
- Keeps your main list clean and focused
- Moves completed articles into a separate archive
- Gives you a real sense of progress
ā° Smart Reminder System
This is where things get interesting.
Un-Sticker nudges you at smart intervals:
- After 3 days
- After 7 days
- After 14 days
- After 30 days
Instead of letting valuable content disappear, it gently pulls it back into your attention at the right time.
š Infinite Scrolling That Actually Scales
Whether you have 20 articles or 500:
- Smooth scrolling experience
- Lightweight shimmer loaders
- Optimized API usage
No lag. No clutter.
š Privacy-First by Design
No accounts. No servers. No tracking.
- Everything is stored locally using
chrome.storage.local - Your API key never leaves your machine
- Your data is 100% yours
š ļø How It Works (Under the Hood)
I built Un-Sticker using Chrome Extension Manifest V3 and the Dev.to API, keeping performance and simplicity in mind.
āļø Background Logic
A service worker runs quietly in the background using:
-
chrome.alarms(triggered hourly)
This ensures:
- Reminders are timely
- No unnecessary CPU usage
š¾ Local Storage System
All state is managed via:
chrome.storage.local
This includes:
- Read/Unread status
- Saved timestamps
- Reminder tracking
No external database needed.
š® Whatās Next?
Iām just getting started. Hereās what Iām planning:
š¤ AI-Powered Learning
Not just saving articlesālearning from them.
- One-click summaries
- Ask questions about an article
- Turn content into actionable insights
š§ Weekly Digest Emails (Optional)
For users who want a broader view:
- āHereās what you saved this weekā
- āHereās what you still havenāt readā
Fully opt-in.
ā FAQ (Improved)
Is it available on the Chrome Web Store?
Not yet. Itās currently in a local-first development phase.
You can try it by loading it manually via:
chrome://extensions/ ā Load Unpacked
Why do I need an API key?
Dev.to doesnāt currently support OAuth for third-party apps.
So:
- A personal API key is required
- It allows secure access to your private reading list
Is my data safe?
Yes.
- Stored locally in your browser
- Never sent to any external server
- No analytics, no tracking
Iām not getting remindersāwhatās wrong?
Most likely, notifications are disabled at the system level.
Check:
- Chrome notification permissions
- OS-level notification settings (Windows/macOS)
Without those, reminders wonāt appear.
š§ Final Thought
This extension isnāt just about organizing bookmarks.
Itās about fixing a broken habit:
Saving knowledge without ever using it.
Un-Sticker helps close that loop.
š¬ Iād genuinely love your feedback:
How do you manage your reading list right nowāand what frustrates you the most about it?






Top comments (8)
honestly my dev.to reading list became this weird guilt pile. i'd save stuff thinking "yeah i'll read this later" and then never touch it again. ended up with 200+ articles just sitting there judging me. built something similar as a weekend project a while back but gave up when the api docs frustrated me. glad someone actually shipped it.
I completely understand š āI too have a reading list of over 90 items, most of which I haven't been able to get to yet!
Solid. The next step is obvious: pipe the unread queue into an LLM once a week, get a short digest of the 3 articles actually worth your time based on what you've engaged with before. Reminder-based systems assume the problem is memory. The real problem is signal vs noise in a queue that keeps growing.
That's a real PRODUCTIVE Idea, like
I think the key shift here is moving from "reminding" to "filtering".
Reminders assume you'll read everything. In reality, you won't - and shouldn't.
I ended up building a small Telegram bot for myself that just gives me short audio summaries of links. It sounds trivial, but it completely changes how I deal with unread queues.
I feel attacked by this article ā stacking save list is totally my case! š Your extension looks super cool! Do you want it to be added to the supported Chrome extension list? What is the procedure? š¤
I'm happy you liked the idea š,
Yeah the deployment to chrome extension is simple, BUT I'm waiting on a few improvements and features to be added, once they are developed/tested then it'll be Go-To-Market ready š.
Good to hear! Keeping my fingers crossed for you! š¤š»