Your sign-in changed
The previous session is closed. Reload to continue with the current account. Saved lessons and drafts stay with their original learner.
The previous session is closed. Reload to continue with the current account. Saved lessons and drafts stay with their original learner.
{{ learningData ? 'Welcome back, ' + learningData.user.name.split(' ')[0] + '.' : 'Welcome to LingoMitra.' }}
{{ studioResume.lang.name }} {{ studioResume.number ? 'Lesson ' + studioResume.number : 'Introduction' }}
{{ studioResume.reading ? 'Your written recap is saved.' : studioResume.complete ? 'Lesson complete. Listen again whenever you like.' : 'Saved at part ' + (studioResume.step + 1) + (studioResume.time ? ' · ' + audioClock(studioResume.time) + ' into this recording' : '') }}
Written recap
Hear a useful idea. Pause to build a sentence. Then listen to the reasoning and try it again.
Hear how a lesson begins. No account needed.
Loading the sample…
{{ studioSampleError }}
{{ studioSampleChoice.openingText }}
Prepared lesson opening · AI-generated voice
Finding a prepared sample…
{{ studioReadyError ? 'Samples could not load. Please try again.' : 'No listening samples are ready yet. Explore a written recap while we prepare them.' }}
Full lessons pause for your answer, then explain the reasoning.
Browse coursesChoose a course. Your lesson will do the teaching.
{{ courseFilter === 'started' && !courseQuery.trim() ? 'Open a course and it will appear here, with your place saved.' : 'Try another name or clear your filters to browse the full catalogue.' }}
{{ draftCourseCount }} courses are new foundation drafts. Fluent-speaker review is pending. Courses marked “Roman transcription” have native-script lessons pending.
Availability refers to each course’s opening lesson. Further lessons may need preparation. No course is labelled as fluent-speaker reviewed.
Your written recaps and practice, together.
{{ (languages.find(l => l.code === lesson.languageCode) || {}).name }} · {{ lesson.number ? 'Lesson ' + lesson.number : 'Introduction' }}
Open a lesson and its recap will be easy to find here. Practice reuses the words and patterns from your course.
Explore courses{{ learningData.user.name }}
Sign in to keep your learning streak, daily goal and lesson history together.
ChatGPT supplies your site account ID, email and available name. LingoMitra stores guided progress and submitted feedback to provide lessons. Privacy information.
Sign in with ChatGPTLoading your learning history…
{{ learningError }}
{{ learningData.streak.current }} day{{ learningData.streak.current === 1 ? '' : 's' }}
{{ learningData.streak.current ? (learningData.todayParts ? 'You showed up today. Keep that curiosity going.' : 'Your streak is still going. Make a little time today.') : 'One lesson part is enough to begin.' }}
Best streak: {{ learningData.streak.best }} day{{ learningData.streak.best === 1 ? '' : 's' }}
{{ learningData.todayParts }} / {{ learningData.profile.dailyGoal }} lesson parts
{{ learningGoalMet ? 'Daily goal complete. Anything more is a bonus.' : 'Finish a listening section or a question to complete a part.' }}
{{ learningData.recentLessons.length ? 'Continue learning' : 'Choose a language' }}A day counts when you complete a lesson part. Opening the site does not add to your streak.
Your lessons will appear here when you start listening.
Daily activity is tracked from this update. Your earlier saved lessons are included in lesson totals.
{{ learningData.user.email || 'Signed in with ChatGPT' }}
{{ learningExportError }}
Export guided-practice evidence or merge up to 100 records from this same account. Restored records are unverified and earn no assessment credit. Existing saved events are kept.
{{ cycleTransferMessage }}
Saved for each language on this device. Available text is shown as supplied; missing transliterations are not invented.
Signed-in visits on this site, grouped into a new session after 30 minutes away. Earlier sign-ins aren’t available.
Started {{ learningDate(visit.startedAt) }}
Last active {{ learningDate(visit.lastSeenAt) }}
Your next signed-in visit will appear here.
Your latest 20 visits are shown. Device labels come from the browser; IP addresses and location are not stored.
Choose a language and learn how a lesson works.
Help improve visits and audio playback. This does not collect your answers or recordings.
Your browser privacy setting disables optional tracking.
Export account data or clear this device.
Your private overview of learners, lessons and playback.
{{ installStandalone ? 'You’re listening in the app.' : installComplete ? 'Added to your device. Open LingoMitra from your app launcher.' : 'Open your listening space straight from your home screen.' }}
{{ language ? language.name : 'Your course' }} · Listening lessons
Sign in to listen to {{ language ? language.name : 'your language' }} lessons and save your place.
Free to learn, at your own pace.
Loading the written course and lesson details.
{{ errorDetail }}
{{ language ? language.name : 'Your course' }}
Loading the written course and lesson details.
{{ errorDetail }}
{{ language ? language.name : '' }} {{ lessonEyebrow }}
Opening the course…
{{ errorDetail }}
{{ audioError }}
Sign inYour listening space
Listen, then try a sentence in your own time. Each pause gives you space to think.
{{ studioReady[language.code] && studioReady[language.code].scriptAvailable ? 'Prepared audio is reused. Your place is saved as you go.' : 'Audio is prepared on first play when a recording is not available.' }}
{{ studioText(audioSegment.text, audioSegment.readingText) }}
Think or speak aloud. No microphone needed.
{{ audioSegment.text }}
{{ studioFirstThought(studioText(audioSegment.text, audioSegment.readingText)) }}
{{ audioFeedbackText('feedback') }}
{{ audioFeedbackText('hint') }}
{{ audioFeedbackText('answer') }}
{{ audioFeedbackText('explanation') }}
{{ audioFeedback[field] }}
Lesson complete
{{ audioCorrectCount }} answered correctly · {{ audioRevealedCount }} explored with an explanation
{{ audioBusy ? audioBusyText : audioBuffering ? 'Buffering audio…' : '' }}
{{ mitraEntryError }}
Draft course · Fluent-speaker review pending.
{{ language.formatNote }}
{{ mitraEntryError }}
Loading {{ pendingName }} lessons
{{ errorBody }}
{{ errorDetail }}
This course is still being written. The others are ready whenever you are.
Practice · {{ language.name }}
{{ practiceIndex + 1 }} / {{ practiceSet.length }}
Draft course · Fluent-speaker review pending. {{ language.formatNote }}
Lesson {{ currentItem.lessonNumber }} · {{ currentItem.instruction }}
{{ currentItem.prompt }}
{{ currentItem.hint }}
Your browser handles speech recognition, which may send audio to its provider.
{{ verdictHeadline }}
{{ verdictNote }}
{{ currentItem.explanation }}
{{ second.why }}
{{ second.from }} · the course’s answer stands where they disagree
{{ voiceNote }}
Time well spent
Every sentence is another chance to learn.
Compare these again
{{ r.item.answer }}
{{ r.item.prompt }}{{ language.name }} · lessons 1–{{ talkUpTo }}
{{ tutorState.local ? 'On this machine' : 'Your key' }}
Use the patterns you have learned.
Draft course · Fluent-speaker review pending. {{ language.formatNote }}
This optional conversation mode connects to a model you choose, through Ollama, LM Studio, or your own provider account. Guided audio uses LingoMitra’s server. Either way nothing you type here reaches us.
The partner is asked to stay within lessons 1–{{ talkUpTo }} and help you work out an answer through smaller questions. Compare its replies with the course; model responses can be mistaken.
What shall we talk about?
{{ talkError }}
The lessons and the practice engine work on their own. This is only for the conversation view and for second opinions on a practice answer.
Guided audio uses LingoMitra’s server connection. This optional conversation partner uses your own provider account. A key you enter is held only in this tab’s memory and sent directly to that provider after checking your sign-in. It is cleared on sign-out, account change or leaving the page. Saved keys from older versions are removed. Your endpoint and model preferences are kept.
Sign in with ChatGPT before connecting a hosted partner. Local models still work without sign-in.
Start from
Ollama and LM Studio connect to a local endpoint. Check that endpoint’s model, logging and network settings. Hosted providers receive conversation text and may charge your provider account. LingoMitra access remains free.
Details
An OpenAI-compatible base URL. Ollama serves one at
localhost:11434/v1, LM Studio at localhost:1234/v1.
Whatever name your runtime or provider uses. A 7–8B instruct model is enough for conversation at this level.
From console.anthropic.com. Requests go from this page to Anthropic and are billed to your account.
Ollama and LM Studio ignore this. Hosted providers need it.
{{ tutorTest.body }}
Second opinion in practice
When your answer differs from the course’s, LingoMitra can ask the model whether yours also works. It sees both sentences, so it is comparing rather than inventing — which is why a small local model can do it. The course always wins where they disagree, and this is never asked for Kannada.
This lesson has no sub-sections.
{{ language.name }}
{{ doneCount }}/{{ lessons.length }}
Nothing matches “{{ query }}”.
{{ group.name }}