Skip to content

Scroll Hell - iOS app that blocks Instagram Reels and YouTube Shorts to help you break free from endless scrolling

Notifications You must be signed in to change notification settings

PetarStoev02/scroll-hell

Repository files navigation

Scroll Hell

Break free from endless scrolling! Scroll Hell is an iOS app that helps you block Instagram Reels and YouTube Shorts, giving you back control of your time.

Features

  • 🚫 Block Instagram Reels - Automatically detect and block Instagram Reels content
  • 🚫 Block YouTube Shorts - Automatically detect and block YouTube Shorts content
  • 📊 Statistics - Track how many times you've been blocked from accessing Reels/Shorts
  • ⚙️ Customizable Settings - Enable/disable blocking for each platform
  • 📱 iOS Native - Built with React Native for iOS

How It Works

Scroll Hell uses iOS Accessibility Services to monitor UI elements in Instagram and YouTube. When it detects Reels or Shorts content, it displays an overlay blocking message and prevents access to the content.

Requirements

  • iOS 13.0 or later
  • React Native 0.83+
  • Xcode 14.0 or later (for development)

Installation

  1. Clone the repository:
git clone https://github.com/PetarStoev02/scroll-hell.git
cd scroll-hell
  1. Install dependencies:
npm install
  1. Install iOS dependencies:
cd ios
pod install
cd ..
  1. Run the app:
npm run ios

Setup

  1. Enable Accessibility Permission

    • Open the app
    • Follow the onboarding flow
    • Go to Settings > Accessibility > Scroll Hell
    • Enable the toggle
  2. Configure Blocking

    • Open the app
    • Go to Settings
    • Toggle "Enable Blocking" to start monitoring
    • Configure which platforms to block (Instagram Reels, YouTube Shorts)

Development

Project Structure

scroll-hell/
├── ios/
│   ├── ReelsBlocker/          # Native iOS modules
│   │   ├── ReelsBlockerModule.swift
│   │   ├── ReelsBlockerService.swift
│   │   ├── AppStateMonitor.swift
│   │   └── OverlayController.swift
│   └── ScrollHellTemp/        # iOS app files
├── src/
│   ├── components/            # React Native components
│   ├── screens/               # App screens
│   ├── services/              # Services (BlockingService)
│   ├── hooks/                 # Custom hooks
│   └── navigation/            # Navigation setup
└── App.tsx                    # Main app component

Building

# iOS
npm run ios

# Build for release
cd ios
xcodebuild -workspace ScrollHellTemp.xcworkspace -scheme ScrollHellTemp -configuration Release

Limitations

  • iOS Sandboxing: iOS doesn't allow apps to directly modify other apps. Scroll Hell uses accessibility services to detect and block content, but cannot prevent all access methods.
  • App Updates: Instagram and YouTube UI changes may require updates to the detection logic.
  • Battery Impact: Continuous monitoring may have a slight impact on battery life.

Privacy

Scroll Hell operates entirely on your device. No data is collected or transmitted. All blocking logic runs locally.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is open source and available under the MIT License.

Disclaimer

This app is not affiliated with, endorsed by, or associated with Instagram or YouTube. It is an independent tool to help users manage their screen time.

About

Scroll Hell - iOS app that blocks Instagram Reels and YouTube Shorts to help you break free from endless scrolling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published