Skip to content

crazysamurai/loom

Repository files navigation

Loom Logo

Loom

Follow creators, not algorithms.

A lightweight YouTube subscription feed built with React Native and Expo.

Loom helps users follow their favorite YouTube channels without the distractions of the standard YouTube homepage. Instead of algorithmic recommendations, Shorts, trending videos, and endless scrolling, Loom creates a clean chronological feed from channels you choose.


Description

Loom aggregates recent videos from the channels you choose into a single feed and provides filtering tools to help you find the content you actually want to watch.

Features

  • No login required, your data stays on your device
  • Add YouTube channels you want to watch
  • Unified feed from all added channels
  • In-app video playback
  • Duration filtering
  • Channel filtering
  • Auto feed refresh and Pull-to-refresh
  • Feed caching to reduce API usage
  • Light and dark themes
  • Local storage

Motivation

I wanted a simpler way to follow YouTube creators without constantly being pulled into recommendations, Shorts, and other distractions.

The app also stops you from scrolling infinitely looking for something to watch by giving you filtering options.

The goal of this project is to create a focused viewing experience where users control what appears in their feed rather than relying on recommendation algorithms.

This project also serves as a learning experience for React Native, Expo, API integration, caching strategies, mobile UI design, and application architecture.


Screenshots

           

Quick Start

Prerequisites

  • Node.js
  • npm
  • Expo CLI
  • Android Studio or a physical Android device
  • YouTube Data API v3 Key

Installation

Clone the repository:

git clone https://github.com/crazysamurai/loom.git
cd loom

Install dependencies:

npm install

Create a YouTube Data API key and configure it in the project.

Start the development server:

npx expo start

Run on Android:

npx expo run:android

Usage

Requires Android version 7+

Add Channels

Navigate to the Channels tab and add channels you want to follow using channel handles. You can find a channel's handle on the its page on YouTube. It looks like @ChannelHandle. Currently the number of channels you can add is intentionally limited to 12 to stop the user from adding unlimited channels and running into the same problem as they did on YouTube.

Browse Feed

The Feed tab displays videos from all subscribed channels sorted by publish date. After adding a new channel, refresh the feed page manually to fetch videos.

Filter Videos

Use the duration slider and channel filters to narrow down the feed. The video duration filter is limited to maximum 90 minutes which is done intentionally right now to stop user from spending too much time but i might change it to infinite.

Watch Videos

Tap any video to open the built-in player. All the recently updated videos from the same channel are also shown alongside. At the moment the app integrates YouTube's provided player so you may see ads and encounter some issues while watching videos in landscape mode. This will be resolved in upcoming updates.

Refresh Feed

Pull down on the feed to fetch the latest uploads. The feed refreshes every 15 minutes automatically.


Contributing

Contributions are welcome.

Getting Started

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/my-feature
  1. Commit your changes
git commit -m "Add my feature"
  1. Push your branch
git push origin feature/my-feature
  1. Open a Pull Request

Please open an issue before making large changes so we can discuss the proposed feature or improvement.


Roadmap

Planned features include:

  • A dedicated settings page (in works)
  • Export and import user data
  • Watch history
  • Advanced filtering options
  • A fully native video player
  • A custom notification system

License

This project is licensed under the MIT License.


About

An app to not kill YouTube but its addiction

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors