Sai Byrraju
< Back to projects

speakingChallenge

Impromptu speaking practice.

TypeScriptReactNext.jsTailwindRadix/shadcnVercel

Why I built this

I wanted to get better at speaking off the cuff: a random topic, one minute, and words to incorporate mid-speech. Difficulty changes reveal timing, not total duration.

How it works

setup → countdown → timed prompt reveals → finished

A state machine (idle, countdown, playing, finished) drives the game. The topic bank has 35 debate-style prompts. Five words appear during the 60-second round. Creator mode mirrors the front camera with delayed reveal and flash overlay.

Decisions

State machine over scattered timers

Explicit states keep countdown, playing, and finished behavior easy to reason about.