Logo Lanfrica

Fred-In-tech/griot-streaming

Type de record:

softwareproject
Créateur:
Fre
Hôte:
Vertical short-film streaming MVP for African stories — signed HLS playback, idempotent append-only coins ledger, entitlement engine # Griot Vertical short-film streaming for African and diaspora stories — TikTok-style delivery, Netflix-style organization. *Interactive, pannable version: open the architecture map* ## What it is Griot is a mobile streaming platform for episodic short-form cinema: an Expo/React Native consumer app, a Next.js admin dashboard, and a Firebase backend where every decision that touches money or access is made server-side. Content is delivered as adaptive HLS from Cloudflare Stream behind short-lived signed URLs; monetization runs on three paths — coin packs and subscriptions via RevenueCat in-app purchase, and rewarded ads via AdMob with server-side verification. **Status: MVP built, pre-launch.** The full stack is implemented and tested against the Firebase emulator suite, with dev adapters for video, payments, ads and email so the whole thing runs locally without a single production credential. What is left is owner-credential work — Apple Developer account, store products, ad units, live provider keys — not engineering. "Griot" is a working name; all branding flows through design tokens and a config document, so it can be renamed without touching code. ## Why I built it Short vertical drama apps like DramaBox and ReelShort proved that phone-native episodic fiction is a real business, and almost none of it is telling African or diaspora stories. I wanted to find out whether one person could build the whole machine — catalog, player, wallet, admin, creator accounting — to a standard where the only thing between it and the App Store was paperwork. The interesting problem was never the video. It was the money: three separate revenue paths all crediting the same balance, on mobile networks that retry, from providers that redeliver webhooks. ## Architecture Rule of thumb throughout: **clients read; functions write anything that matters.** Firestore rules are default-deny, clients may write only their own engagement documents under `uid`-prefixed ids, and every f …