
Polylogue is a community-powered language preservation platform that lets users record spoken translations in their native languages, building a living archive of global linguistic diversity. Includes magic-link and social authentication, browser-based audio recording, a fully internationalized interface, and complete dark mode support.
I wanted to share Ghanaian languages, Ga and Twi, and ran into the same wall again later while learning Swahili myself: quality, comprehensible-input resources for African and other under-resourced languages are scarce to non-existent. Language tools cluster around a handful of major world languages, with no accessible way for a native speaker to record themselves and have it become part of something searchable and growing.
There are two ways to contribute: pick a text from the library and record a spoken translation of it, or work through a structured "comprehensible input" sequence: slides and prompts designed to guide practice, not just capture a one-off recording. Signing in is a magic link or Google/Facebook, no password to manage. Recording runs entirely in the browser: it probes for the best supported audio codec (Opus/WebM first, falling back through MP4, AAC, then WAV) so the same flow works on a laptop or a phone, then uploads straight to Supabase Storage. Every recording and translation gets likes, views, shares, and comments, so contributions get listened to and responded to instead of just sitting in a database. The interface itself is translated into eight languages, so someone can use the site in their own language while recording a completely different one.
Letting anyone upload audio means someone has to review it. There's a moderation queue backed by a real content-reports table, sorted by priority, with a role-based admin dashboard for user management and audit logs, so flagged recordings get reviewed instead of piling up. The trickier technical problem turned out to be browser audio recording itself: MediaRecorder's supported codecs vary by browser, so the recording hook has to detect and fall back through a list rather than assume one format works everywhere. It was also built solo against a hackathon deadline, which is why it's earlier-stage than my other work: a handful of migrations in, and unlike the school platform, no automated test coverage yet.
Built solo and submitted to the World's Largest Hackathon (presented by Bolt) in June 2025, then kept running after. Live at polylogue.app, with a schema spanning two distinct content types (free-form passages and structured CI sequences) plus their full social and moderation layers, and a fully localized interface across eight languages.