StreamStorm is a unified, cross-platform desktop application designed to bring the best of Twitch and Kick live streaming into a single, cohesive interface. Built with modern web technologies and packaged via Electron, StreamStorm offers a lightweight, meaningful, and feature-rich viewing experience.
- Unified Dashboard: seamlessly browse and watch streams from both twitch.tv and kick.com in one place.
- Custom Chat Integration: Interact with chats from both platforms directly within the app.
- Enhanced Player: Features an advanced video player with HLS support, offering low latency and high quality.
- Auto-Retry Mechanism: Robust handling of stream interruptions with automatic retries for continuous playback.
- Ad-Block Capabilities: Built-in mechanisms to provide a cleaner viewing experience (Twitch only).
- Cross-Platform: Available for Windows, macOS (Intel & Apple Silicon), and Linux (AppImage).
- Performance Focused: optimized for low resource usage compared to running multiple browser tabs.
StreamStorm is built as a monorepo using npm workspaces, leveraging a powerful modern stack:
- Core Framework: Electron & React
- Build Tooling: Vite & Electron-Vite
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: Zustand
- Data Fetching: TanStack Query
- Routing: TanStack Router
- Database: Better-SQLite3 (for local data persistence)
- APIs: Twitch (tmi.js), Kick (Pusher-js), and internal tRPC for IPC.
This project is organized as a monorepo:
StreamStorm/
├── apps/
│ ├── desktop/ # Main Electron application source code
├── packages/ # Shared internal packages (if any)
└── package.json # Root configuration and workspace definitionsEnsure you have the following installed:
- Node.js (v18 or higher recommended)
- npm (comes with Node.js)
- Git
-
Clone the repository:
git clone https://github.com/TheDarkSkyXD/StreamStorm.git cd StreamStorm -
Install dependencies:
npm install
To start the desktop application in development mode with hot-reloading:
npm startAlternatively, you can run npm run dev directly inside apps/desktop.
Contributions are welcome! Please feel free to check out the issues page if you want to contribute.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project uses Biome for fast linting and formatting.
- Check for errors:
npm run lint - Auto-fix errors:
npm run lint:fix --workspace=streamstorm - Format code:
npm run format --workspace=streamstorm
Distributed under the MIT License. See LICENSE for more information.
Project Link: https://github.com/TheDarkSkyXD/StreamStorm