Private video-sharing PWA for friend groups.
Share video clips and music links with your close friends. TikTok-style vertical feed, invite-only group, installable PWA.
- Full-screen vertical reel with swipe navigation and playback speed control
- Share videos and music via paste, Android share sheet, or iOS Shortcuts
- Cross-platform music link resolution (Spotify, Apple Music, YouTube Music)
- Threaded comments, emoji reactions, GIF search, and view tracking
- Push notifications and in-app activity feed
- Host controls: members, retention, storage limits, platform filtering, download providers
- Dark/light/system themes, profile avatars, favorites
- Phone verification via Twilio, pluggable video download providers
Note: Scrolly does not bundle any download tools. The host must explicitly install a provider from Settings. See DISCLAIMER.md.
Prerequisites: Node.js 24+
git clone https://github.com/312-dev/scrolly.git
cd scrolly
npm install
cp .env.example .env # edit with your values
npm run devcurl -LO https://raw.githubusercontent.com/312-dev/scrolly/main/docker-compose.yml
curl -LO https://raw.githubusercontent.com/312-dev/scrolly/main/.env.example
cp .env.example .env && nano .env
docker compose up -dMigrations run automatically on startup. Upgrade with docker compose pull && docker compose up -d.
312-dev.github.io/scrolly — deployment, configuration, and API reference.
| Command | Description |
|---|---|
npm run dev |
Dev server |
npm run build |
Production build |
npm run lint |
ESLint |
npm run format |
Prettier |
npm run type-check |
TypeScript check |
npm run test |
Unit tests |
npm run test:coverage |
Tests with coverage |
- Contributing — development setup and PR guidelines
- Security — vulnerability reporting
- Disclaimer — content and liability
- License — MIT