WatchSankofa
African film and music, on its own infrastructure
A pan-African distribution platform for filmmakers, musicians and poets — built for the continent's connectivity, its languages and its crew-based creative culture rather than adapted to them.
- 40 commits
- 2026-03-18 → 2026-03-19
- TypeScript 85.3%
The premise is a refusal: not a clone of a Western platform with African content poured into it. The assumptions that come free with those platforms — reliable bandwidth, solo-artist profiles, a handful of languages, a card on file — are each wrong here in a way that changes the schema.
Crew-based creative culture is the clearest example. African music and film are made by collectives, and a data model with one creator per work cannot represent who made the thing. That is not a feature gap; it is the record being wrong.
3 decisions
What the constraint forced.
Each of these is a choice with a reason attached. The reason is the part worth reading — a stack list tells you what was used, and nothing at all about the judgment that put it there.
- 01
Enrich on upload with an agent, so the creator does no metadata work.
A content agent triggers on every new work and writes back a summary, mood and theme tags, cultural context, detected language, content warnings and a thumbnail crop suggestion. Discovery quality on a catalogue platform is a function of metadata quality, and metadata quality is a function of how much unpaid work you ask a creator to do. Moving that to a scheduled agent is the difference between a catalogue that can be searched and one that cannot.
- 02
Move from single-shot calls to agents with memory and a schedule.
The first architecture was a request, a model call, a response, done. The second gives each concern a persistent agent with its own tools, its own trigger and its own tables to write — content intelligence on upload, discovery on feed refresh. The shift matters because the interesting work is not what a model can do in one turn; it is what accumulates when something runs on a schedule and remembers.
- 03
Model the crew, the collective and the listening room.
Comments with replies, an activity feed, creator notes between drops, listening rooms, live premieres, and pages that belong to a crew rather than a person. The journal argues each of these from how African audiences already gather — the activity feed because "someone you follow just dropped a track" is the highest-retention mechanic there is, the crew page because solo profiles miss the culture.
The part that survives the build.
Copying a platform copies its assumptions, and its assumptions are the expensive part.
The visible layer of a streaming product is a grid of thumbnails and it takes a week. What takes the year is rights, roles, payouts, offline behaviour and discovery — all of which encode who the platform thinks makes things and how. Those are the parts that have to be rebuilt for a different context, and they are the parts that look like they can be reused.
Write down who built it with you.
This journal keeps an explicit collaborators table naming the AI as an embedded engineering partner rather than a tool. Whatever position one takes on that framing, recording it is the honest move — the alternative is a body of work whose authorship is quietly ambiguous.
Built with
- Next.js
- TypeScript
- Supabase
- Claude API
- Vercel
Measured
- commits
- 40
- last commit
- 2026-03-19
- journal sections
- 13
Written from AfriFlix / WatchSankofa build journal — dossier, 24 sections. The dossier is composed from the journal rather than quoted out of it — the raw sections stay behind the review gate described in docs/THE_FORGE.md §4, and every figure above is read from the GitHub API at build time.
