Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
An accent & dialect guessing game. Listen to a short spoken clip and guess which accent / region it's from — British vs. Australian English, French vs. Québécois, Brazilian vs. European Portuguese, and more.
The "clips" are generated on the fly by your browser's built-in speech
synthesizer using regional locale voices (en-GB, fr-CA, ja-JP, …). That
means:
- No audio files to host and nothing to download.
- The voices are computer-generated, so no real person is being recorded or labeled.
- The game is about language and place (dialect/accent), not about people's identities.
- Press Start quiz.
- A clip plays automatically — press 🔊 to replay it.
- Pick the accent you think you heard from the four choices.
- Build a streak for bonus points. After 10 rounds, save your score to the leaderboard.
Available locale voices depend on your operating system and browser. If your device only has a few regional voices installed, the quiz automatically hides the accents it can't pronounce and tells you so. Chrome, Edge, and Safari tend to ship the widest selection.
Rendering mermaid diagram...
index.ts ← Hono server: serves frontend + leaderboard API
frontend/
index.html ← HTML shell (Twind + React)
index.tsx ← React entrypoint
accents.ts ← accent list (locales, flags) + phrases
speech.ts ← Web Speech API wrapper + voice matching
game.ts ← round building + scoring (pure logic)
components/
App.tsx ← layout
Game.tsx ← the quiz: rounds, scoring, results, leaderboard
- Add accents/languages: append to
ACCENTSinfrontend/accents.tsand, for a new language, add phrases under the matching language key inPHRASES. - Change round count or scoring:
TOTAL_ROUNDSinGame.tsx,scoreForAnsweringame.ts. - Harder mode: raise
numChoicesinmakeRound, or group similar accents (e.g. only English variants) as distractors.