Cross-stream loyalty points system for YouTube Live
Translation pending
SocialTypeScript · CSSGitHub @sidhantkisshorOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A cross-channel YouTube loyalty platform. Connect multiple YouTube channels (even with different Google accounts), ingest live chat and comments, score engagement daily, and let fans redeem digital rewards from a single global wallet.
Vercel (control plane) Shared Infra
Admin dashboard PostgreSQL (Prisma 7)
Viewer portal Upstash Redis (locks, cache, leaderboards)
API routes Sentry (errors, tracing)
9 cron endpoints
Key models: Workspace > Channel > Stream > Viewer, with FanProfile as the global identity and PointLedger as the immutable transaction log.
Admin — Channel management, stream control, reward catalog, fulfillment queue, fraud review, ops dashboard with health/alerts/job history.
Viewer — Global wallet across all channels, rank progression (Paper Trader to Whale), reward redemption, transaction history, streak tracking, channel switcher.
Backend — Distributed lock coordination, daily scoring settlement, batch anti-cheat (velocity/duplicate/timing/rapid-account), digital fulfillment pipeline, per-channel OAuth with auto-refresh.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript (strict) |
| Database | PostgreSQL + Prisma 7 (PrismaPg adapter) |
| Cache | Upstash Redis (REST) |
| Auth | NextAuth.js (Google OAuth) |
| Testing | Vitest (356 tests) |
| Monitoring | Sentry |
| Deployment | Vercel |
git clone https://github.com/sidhantkisshor/tws-yt-loyalty.git
cd tws-yt-loyalty
npm install
cp .env.example .env.local # fill in real values
npx prisma generate
npx prisma migrate dev
npm run dev
See .env.example for all required variables.
| Endpoint | Schedule | Purpose |
|---|---|---|
poll-streams | Every 3 min | Live chat ingestion |
ingest-comments | Every 15 min | Video comment ingestion |
fulfill-rewards | Every 5 min | Digital reward delivery |
token-health | Hourly | OAuth token monitoring |
discover-videos | Every 4 hrs | New video discovery |
update-segments | Every 6 hrs | Fan segmentation |
daily-scoring | 2 AM UTC | Point settlement |
fraud-scan | 3 AM UTC | Fraud review + enforcement |
tier-decay | Midnight UTC | Rank decay |
npm test # run all tests
npx tsc --noEmit # type check
npx next build # production build
Proprietary. All rights reserved.