Dialekt - AI-powered (spoken) language learning

Dialekt is an AI-powered language learning application that provides real-time conversational practice with adaptive feedback.

What it does

Dialekt pairs learners with an AI tutor (powered by Claude) that adjusts its responses based on the learner’s CEFR level (A1-C2) and chosen register (formal/informal). The tutor provides intelligent, context-aware feedback depending on how the learner communicates:

  • Writing in native language: Shows the translation in the target language with IPA
    transcription and phonetic guides
  • Practicing target language: Provides corrections and encouragement with
    grammatical feedback

Key features

  • 70+ language pairs: Choose any combination of native and target language
  • CEFR-based adaptation: Vocabulary and grammar automatically adjust to A1-C2
    levels
  • Real-time feedback: Built with Phoenix LiveView for instant tutor responses
  • Dynamic conversation starters: AI generates contextually appropriate prompts
    based on your learning configuration
  • Phonetic support: IPA transcriptions use native language phonetic conventions

How it works

The app uses Claude Sonnet 4.6 via the Anthropic API to power the tutoring experience. The system prompt is carefully designed to enforce CEFR level constraints, maintain register consistency, and provide differentiated feedback based on whether the learner is practicing or just asking for translations.

Motivation

I built this mostly as a tool to help me learn new languages without the hassle of finding pronunciation guides and conversation partners. It’s just a pet project I made for fun, but I’d appreciate any feedback if you find it helpful or have ideas to improve it.

Requires an Anthropic API key to run.

11 Likes

Just added persistence layer to this! Now, we can create multiple learning configs and have multiple chats persisted.

1 Like
  • Added dark mode toggle
  • Fixed bug where when clicking the conversation starter buttons, no visual feedback was shown on the sreen

1 Like

Setup form with dark mode:

1 Like

Fixed the misaligned ASCII branding

New update: just added text to speech! It’s using browser text to speech which is free

1 Like

We should have this merged soon: feat: multi-provider LLM support via ReqLLM by voshawn · Pull Request #9 · ccarvalho-eng/dialekt · GitHub

Nice work building ReLLM @mikehostetler !

1 Like

Alright, now it has support for multiple LLMs (Chat GPT, Claude, Open Router). Also, did refactor style so UI looks nicer.

3 Likes

What determines what languages you can support? I’m learning Koine Greek using a specific pronunciation system and have wondered if I could get AI to pronounce that without having to train a model on existing audio.

1 Like

Thank you!

1 Like

Thanks for checking this out! This library is still young — it actually started as a simple Claude artifact I built to help myself learn new languages.

  • Good point! Lots of languages have regional variations (e.g. Spanish → Castilian, Latin American; French → Québécois; Chinese → Mandarin, Cantonese; Arabic → Egyptian, Levantine)

  • In this early phase, I am mostly touching the surface by keeping the default/most popular ones.

  • The UI defaults are limited — European Portuguese is missing, for example

If this catches your interest, I’d love to hear your ideas — we could figure out some UI tweaks and play around with the prompt :slight_smile:

Also, I am open to ideas about the future of this library. For now, it seems a great tool for tech people but still focused on Elixir/ Liveview community. Maybe it could evolve to a docker container in which you could spin up with your favorite LLM. Don’t think I’d have the energy to productionize this into a SaaS or something (I prefer building than selling :))

Added some minor UI improvements to the chat page:

Was trying to implement voice recognition. Working well so far. Some browsers like Brave might block this by default. If it goes

1 Like

… if it goes well, will add to the project soon. After that, not sure what next but happy to hear any opinions.

Alright. Voice recognition was added! Release v0.1.4 · ccarvalho-eng/dialekt · GitHub