Work · Personal project
UpSpoke: English speaking practice with a peer at your level
My own product: video conversations with a peer at the same level, then AI feedback on what you actually said.

The challenge
UpSpoke is my own product. It is for young people who understand English but freeze when they need to speak it. What they lack is practice speaking, with feedback on what they actually said.
What I built
- Skill path: a path that adapts to the learner's level and goal.
- Booking and pairing: the learner books a slot, the system pairs them with a peer at the same level, and they hold a 50-minute video call with conversation prompts.
- Feedback after the call: each speaker gets grammar corrections with explanations, fluency (pace and pauses), vocabulary, and the moments they used the target skill or missed it.
- Follow-up: a weekly progress page, reminders, no-show handling, and a personal word list with Arabic translations.
- Admin console: metrics, analytics, session history, moderation and content.
Tech
The app is built with Next.js and TypeScript on PostgreSQL and Redis. Video is self-hosted (LiveKit) and recorded per speaker, a self-hosted Whisper service turns speech into text, and a language model writes the feedback. Background jobs run on queues, the interface is in Arabic and English, recording needs explicit consent, and old recordings are deleted on a schedule.
Outcome
I built it alone. Status: pre-launch. The screenshots are from the new version, with demo data.
- Type
- Personal project
- Services
- Web platforms and B2B commerce
- Tech
- Next.js
- TypeScript
- PostgreSQL
- Redis
- Docker
- LiveKit
- Whisper
Screens






Tell me about one process
If a process in your company still runs on spreadsheets and group chats, tell me about it. I'll tell you honestly whether a custom system is worth it.