Comprehensive multi-channel streaming toolkit and ecosystem built exclusively for Kick.com creators and communities.
100% Dedicated to Kick.com • 4 Specialized Studios • Real-time WebSocket • PWA Ready • Multi-language Support
- What is KickALL?
- Target Audience & Key Benefits
- Four Specialized Studios
- System Architecture
- Database Schema (Supabase)
- Security & Data Protection
- Local Installation & Setup
- Code Testing and Verification
- License & Support
KickALL is an end-to-end web and server ecosystem engineered from scratch for creators on Kick.com. Unlike generic legacy solutions designed for Twitch, KickALL interfaces directly with Kick API services and real-time Pusher WebSocket infrastructure.
The platform empowers streamers to manage chat auto-moderation, host provably fair giveaways, monitor viewer velocity in real time, and broadcast dynamic OBS overlay alerts with natural text-to-speech synthesis for donations and subscriptions—all from a single unified hub.
| Role | Key Capabilities & Value |
|---|---|
| Streamers (Beginners & Partners) | Streamline complete stream operations: automated spam filtering, viewer watchtime rewards, interactive giveaway wheels, professional OBS alerts, and real-time broadcast telemetry. |
| Channel Moderators | Instant moderation commands, automated filters against harassment and raid attacks, real-time audit logging for bans and timeouts. |
| Viewers & Community | Earn XP and level up via watchtime, engage with interactive chat commands (!points, !top, !gamble), participate in mini-games, and enter fair prize draws. |
The KickALL suite consists of four purpose-built studios accessible from the main dashboard:
Direct link: https://kickall.app/kickot/
- Anti-Spam & Anti-Raid Shield: Intelligent detection of repeated phrases, message flooding, and automatic stripping of hidden zero-width characters used to bypass word filters.
- Custom Commands (
!commands): Build unlimited custom commands with cooldown protection, granular permission tiers (everyone, subscriber, moderator, broadcaster), and dynamic variables ({user},{targ},{count}). - Watchtime Economy & Leaderboards: Automated viewer tracking, custom XP progression, and live rankings for the most active community members.
- Minigames & Entertainment: Interactive audience engagement features like coin flips, point gambles, and duel challenges.
Direct link: https://kickaj.kickall.app/ or https://kickall.app/kickaj/
- Interactive Wheel of Fortune: High-performance 60 FPS HTML5 Canvas spinning wheel with physics-driven friction, mechanical clicking audio, and confetti particle celebration.
- Rule-Based Winner Extraction: Filter participants by custom keyword, apply subscriber luck multipliers, and exclude automated bots.
- Anti-Cheat Validation: Disallow duplicate submissions from identical accounts and verify live presence in chat at the moment of the draw.
Direct link: https://kickan.kickall.app/ or https://kickall.app/kickan/
- Chat Velocity Gauge: Real-time calculation of chat messages per minute (msg/min) with a dynamic visual speedometer.
- 24-Hour Activity Histogram: Visual breakdown of chat volume across hourly buckets to pinpoint peak viewer engagement.
- Top Emote & Chatter Insights: Track trending emotes and identify the most active chatters during any stream session.
- One-Click Export: Export full session telemetry and chat logs to CSV and plain text formats.
Direct link: https://kickov.kickall.app/ or https://kickall.app/kickov/
- OBS Studio Browser Source: Generate private, tamper-proof overlay tokens that plug directly into OBS without requiring a login inside the streaming software.
- Customizable Alerts: Visual banners and sound effects for new followers, subscriptions, hosts, and donations.
- Natural TTS Engine: High-fidelity text-to-speech voice synthesis for donation messages with multi-language pronunciation support.
- Live Preview Simulator: Test every alert type inside the dashboard prior to going live on stream.
KickALL operates on a distributed hybrid architecture ensuring zero perceptible latency and fault tolerance:
flowchart TD
Client[Client Dashboard / OBS Browser Source] -->|HTTPS & OAuth| NetlifyEdge[Netlify Serverless Edge]
Client -->|Pusher WebSocket Subscriptions| KickPusher[Kick.com Pusher Cluster]
subgraph Netlify Edge Layer
NetlifyEdge -->|Reverse Proxy & Header Whitelist| ApiProxy[api-proxy.js]
NetlifyEdge -->|OAuth PKCE Token Exchange| KickExchange[kick-exchange.js]
NetlifyEdge -->|Subscriptions & Payments| FungiesWH[fungies-webhook.js]
NetlifyEdge -->|Bot Queries & Sync| BotProxy[bot-proxy.js]
end
subgraph Render Bot Engine
BotProxy -->|X-Internal-Token Authentication| BotServer[Bot HTTP Server bot.js]
BotServer -->|Channel Management| ChannelMgr[Multi-Channel Manager]
ChannelMgr -->|Chat Event Processing| MsgEngine[Message & Anti-Spam Pipeline]
ChannelMgr -->|Commands & Economy| CommandEngine[Command & Level Logic]
end
KickExchange -->|Token Storage| Supabase[(Supabase PostgreSQL)]
FungiesWH -->|Plan Updates| Supabase
BotServer <-->|Real-time Data & State| Supabase
ChannelMgr -->|Official Chat Messages| KickApi[Kick Official API v1]
Data persistence is powered by Supabase PostgreSQL with strict Row Level Security (RLS) policies:
| Table | Purpose & Description | Key Columns |
|---|---|---|
user_profiles |
User credentials, avatar URLs, Kick broadcaster accounts, and active subscription status | id, email, kick_username, plan, subscription_status |
bot_config |
Per-channel bot configuration and preferences | channel_id, bot_active, currency_name, xp_per_msg, prefix |
custom_commands |
User-defined chat commands with authorization levels and timers | channel_id, command_name, response_text, user_level, cooldown_ms |
leaderboard |
Viewer watchtime records, collected points, and XP progression tiers | channel_id, username, points, xp, level, watchtime_minutes |
bot_kick_tokens |
Encrypted OAuth tokens for sending messages securely through the Kick API | channel_id, access_token, refresh_token, expires_at |
rate_limits |
Atomic request counters to prevent API abuse and DDoS attacks | key, request_count, window_start, updated_at |
- Fail-Closed Architecture (
X-Internal-Token): Internal requests between serverless edge proxies and backend bot containers require a pre-shared cryptographically strong token. Missing or invalid tokens result in immediate401 Unauthorizedresponses. - SSRF Prevention & Domain Whitelisting: Netlify proxy endpoints strictly validate destination URLs and only route traffic to allowed destinations (
kick.comand configured internal bot endpoints). - PII Masking: Broadcaster and viewer email addresses and credentials are automatically scrubbed and masked in all system logs (e.g.,
m***n@domain.com). - Anti-Injection & Unicode Stripping: Removal of invisible Unicode zero-width sequences prevents ban-evasion exploits and payload tampering in chat.
- Node.js: Version 20.x or 22.x LTS
- npm: Version 10.x or newer
- Git
Create your local .env configuration file in the Bot/ directory:
cp Bot/.env.example Bot/.envConfigure the environment variables in Bot/.env:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-supabase-service-role-key
KICK_CLIENT_ID=your-kick-oauth-client-id
KICK_CLIENT_SECRET=your-kick-oauth-client-secret
INTERNAL_API_SECRET=your-secure-internal-token
PORT=3000Install dependencies and start the bot service:
cd Bot
npm install
npm startCreate .env for serverless edge functions inside Website/:
cp Website/.env.example Website/.envStart the local web server:
# From the repository root
npm run devThe application will be accessible at http://localhost:5500.
To run Netlify edge functions locally:
npm run dev:netlifyThe project utilizes the native Node.js test runner for rapid, zero-overhead automated verification without heavy third-party runners.
| Command | Description |
|---|---|
npm test |
Runs the full suite of 228 automated tests (bot mechanics, anti-spam filters, serverless functions, overlay routing, and security proxies). |
npm run test:bot |
Runs tests isolated to the Bot server and chat processing engine. |
npm run test:website |
Runs tests for Netlify serverless functions, webhook signatures, and rate limiters. |
npm run test:coverage |
Produces a detailed test coverage report. |
npm run lint |
Runs ESLint analysis using the modern flat configuration standard (eslint.config.js). |
npm run verify |
Performs static asset and integrity validation across all web dashboards. |
npm run audit |
Audits npm dependencies with security thresholds focused on high/critical vulnerabilities. |
Hi! I am Milan, a 20-year-old student and web developer from Serbia. I engineered the KickALL ecosystem from scratch to give Kick.com creators, moderators, and communities high-performance, real-time tools without the complexity of legacy software.
If KickALL helps you grow your channel or streamlines your broadcast workflow, and you want to support my late-night coding sessions, you can buy me a coffee!
Every donation means a lot and directly supports server infrastructure, Pusher real-time capacity, and continuous feature development. Thank you!
This project is open-source software licensed under the MIT License.
- Author & Maintainer: Milan Petkovski
- Official Website: https://kickall.app
- Contact & Support:
contact@milanwebportal.com - Parent Network: Milan Web Portal
- Support the Project: Support via PayPal