All projectsFullstack
Aroui Radio (خرافات العروي)
Arabic RTL archive navigated by a radio tuning dial
aroui.vercel.app

An archive of the Tunisian radio storyteller Abdelaziz El Aroui's خرافات, where every published episode is a station on a vintage tuning dial. I built it on Next.js 15 and Prisma with PostgreSQL, serving audio as presigned URLs straight from S3-compatible storage so range requests and seeking never pass through the app. I wrote the RTL interface, the dial and player, an admin for uploads that reads duration server-side, an SSE listener count, and a Web Audio ambience engine that synthesises rain and radio hiss without shipping any audio files.
What it does
- Draggable tuning dial with keyboard support
- Presigned direct-to-storage audio uploads
- Server-side duration parsing on upload
- Shareable deep links with Arabic OG cards
- Synthesised Web Audio ambience layers
- Play analytics from anonymous sessions
- SSE live listener presence count
Built with
- Next.js
- TypeScript
- PostgreSQL
- Prisma
- Tailwind
- Cloudflare R2
- Auth.js