# Hassaniya Transcriber
A small web app for fixing machine transcriptions of Hassaniya voice notes.
409 WhatsApp clips were sorted as Hassaniya, then run through OpenAI Whisper to get a rough
first draft. Whisper is trained on Modern Standard Arabic, so the drafts are wrong in
interesting ways — but editing them is much faster than typing Arabic from scratch. This app
hands out one clip at a time, shows the draft in an editable box, and saves the fixed text.
Several people can work at the same time. Everyone shares one Supabase table, so progress is
collective and visible on the Progress screen.
## Using it
1. Open the site, type your name, press **Start**. The name is remembered on that device.
2. Play the clip (Play/Pause, Replay, and 0.75× / 1× / 1.25× for fast talkers).
3. Fix the Arabic text in the box.
4. **Submit ✓** — or `Ctrl`/`⌘` + `Enter`. The next clip loads automatically.
- **Skip →** if you'd rather leave it for someone else.
- **Can't Tell ?** if the audio is too unclear to transcribe.
5. **View Progress** shows overall stats, who has done how many, recent activity, and a
**Download All Corrections** button that exports everything as CSV.
You are always shown clips nobody has done yet. Once the queue is empty you get an all-done
screen, and you can go back through your own corrections to edit them.
## Files
```
index.html markup for all four screens
style.css dark theme, mobile-first, RTL
app.js all the logic (no framework, no build step)
config.js Supabase URL + anon key — GENERATED, see below
audio/ 409 clips, each as .ogg (Opus) and .m4a (AAC)
```
Both audio formats are shipped because iOS Safari cannot play Ogg. The app checks
`canPlayType` and requests whichever the browser admits to supporting.
## The `clips` table
One row per clip. The pipeline writes the first group; the app writes the second.
| column | written by | notes |
|---|---|---|
| `filename` | pipeline | e.g. `wa_0006.wav` — also the key for the a …