Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

instawinsta

instawinsta is a Manifest V3 Chrome extension that helps reduce addictive Instagram web behaviors and encourage intentional usage.

It keeps core messaging use-cases available (DMs, Stories, controlled Home feed) while blocking high-distraction surfaces like Reels and Explore.

Features

  • Focus and Relaxed modes
    • Focus Mode: stricter feed limit (default: 10 posts)
    • Relaxed Mode: looser feed limit (default: 15 posts)
  • Route blocking
    • Redirects /explore, /reels, and /reel routes to /direct/inbox/
  • Reels and Explore UI suppression
    • Hides related nav links/buttons where detected
  • Suggested/recommended content removal
    • Removes common algorithmic injection blocks by heuristic matching
  • Feed depth enforcement
    • Blurs and disables interaction past configured post threshold
    • Shows: Intentional usage only. Feed limit reached for this mode.
  • Autoplay reduction
    • Attempts to pause videos and disable autoplay/loop
  • Behavioral interruption UX
    • “Are you sure?” prompt when repeatedly trying to scroll past blocked posts
  • Daily time limit (default 20 minutes/day)
    • Usage tracked per day in extension storage

Tech Stack

  • Chrome Extension Manifest V3
  • Vanilla JavaScript (no framework)
  • chrome.storage.sync for mode/preferences
  • MutationObserver + route watcher for dynamic Instagram updates

Project Structure

instawinsta/
├── content.js
├── manifest.json
├── popup.html
├── popup.js
└── styles.css

Screenshots

Popup UI

Interruption prompt

Installation (Unpacked)

  1. Open Chrome and navigate to chrome://extensions.
  2. Enable Developer mode.
  3. Click Load unpacked.
  4. Select this folder: instawinsta.
  5. Open https://www.instagram.com/.
  6. Pin the extension (optional) and use popup controls.

How to Use

  1. Click the extension icon.
  2. Toggle Focus Mode on/off:
    • ON = Focus
    • OFF = Relaxed
  3. Optionally adjust:
    • Daily limit in minutes
    • Focus post limit
    • Relaxed post limit
  4. Click Save Settings.

Changes are saved to chrome.storage.sync and applied to open Instagram tabs.

Configuration Defaults

  • mode: focus
  • dailyLimitMinutes: 20
  • focusPostLimit: 10
  • relaxedPostLimit: 15
  • interruptionScrollAttempts: 5
  • redirectPath: /direct/inbox/

Behavioral Policy

  • Allowed: DMs, Stories, controlled Home feed
  • Blocked/limited:
    • Explore routes/UI
    • Reels routes/UI
    • Suggested/recommended feed injections
    • Deep infinite feed scrolling beyond thresholds

Performance & Safety Notes

  • Uses throttled DOM re-application to reduce observer churn.
  • Avoids broad reflow-heavy operations where possible.
  • Uses least-privilege permissions (storage + Instagram host permission).
  • Does not use remote code, eval, or Manifest V2 APIs.

Limitations

  • Instagram frequently changes DOM structure; selector heuristics may need updates.
  • Suggested-content detection uses text/structure heuristics and may not catch all variants.
  • Autoplay control depends on Instagram’s current media implementation.

Development Notes

  • No build step is required for current version.
  • To modify behavior, edit content.js defaults/selectors and popup controls.

Disclaimer

This project is an independent productivity tool and is not affiliated with or endorsed by Instagram/Meta.

About

Kill Instagram distractions. No Reels, no Explore, no endless scroll. Only messages, stories, and controlled feed. Built for focus and intentional use.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages