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.
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.
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
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 :))