DEV Community

Cover image for 🧠 Dev.to Un-Stuck: The Chrome Extension That Finally Fixes Your Reading List
Muhammad Usman Awan
Muhammad Usman Awan

Posted on

🧠 Dev.to Un-Stuck: The Chrome Extension That Finally Fixes Your Reading List

🧠 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.

Source Code


🚨 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)

Collapse
Ā 
megallmio profile image
Socials Megallm •

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.

Collapse
Ā 
usman_awan profile image
Muhammad Usman Awan •

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!

Collapse
Ā 
valentin_monteiro profile image
Valentin Monteiro •

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.

Collapse
Ā 
usman_awan profile image
Muhammad Usman Awan • • Edited

That's a real PRODUCTIVE Idea, like

  1. Email sender/reminder for unread (basic)
  2. put unread into LLM (based on last reads) to summarize top 3-5, then send (game changer)
  3. in-browser discussion agent linked to extension šŸ¤” (discussion helps understanding better)
Collapse
Ā 
klem42 profile image
Kirill •

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.

Collapse
Ā 
klaudiagrz profile image
Klaudia Grzondziel •

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? šŸ¤”

Collapse
Ā 
usman_awan profile image
Muhammad Usman Awan •

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 šŸ˜‰.

Collapse
Ā 
klaudiagrz profile image
Klaudia Grzondziel •

Good to hear! Keeping my fingers crossed for you! šŸ¤žšŸ»