Chat

Chat with an AI tutor in your target language: get grammar corrections, practice conversation, attach a deck for vocabulary context, and generate flashcards from what you learn.

Overview

Chat pairs you with an AI language tutor for conversational practice. You can have freeform conversations in your target language, get grammar corrections, drill vocabulary from your decks, or just explore new topics.

The tutor is aware of your flashcard decks. When you attach a deck as context, the AI can reference your actual vocabulary, quiz you on specific cards, and tailor its responses to what you're learning.

Conversations save automatically with auto-generated titles and summaries, so you can pick up where you left off or revisit past practice sessions. You can also turn any conversation into flashcards to add to your decks.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Chat home page with language selector, model picker, and suggestion chips</p></div>

Getting There

Click Chat in the sidebar to open the chat home page. From there, you can start a new conversation or browse your conversation history.

Starting a Conversation

The chat home page has everything you need to begin. To get a conversation going:

  1. Select a language. Choose which language you want to practice from the dropdown. The selector is organized into three groups: your languages (ones you've studied or chatted in before), featured languages (40 languages with full teaching configurations that give the AI grammar rules, teaching strategies, writing system notes, formality conventions, and regional variations), and other languages (everything else, expandable on demand). The AI can still converse in "other" languages, but it does so without the extra teaching data, so quality depends on the model's own proficiency.
  2. Choose a model. Pick which AI model to use. Your subscription includes GPT-4o Mini (OpenAI) and Gemini 2.0 Flash (Google). Additional models from OpenAI, Anthropic, and Google unlock when you add your own API key (see BYOK).
  3. Attach deck context (optional). Attach a whole deck, specific sections, or hand-picked cards to give the AI access to your vocabulary and study progress. See Deck Context for details on what information the AI receives.
  4. Type your message or pick a suggestion. Type your own prompt, or click one of the suggestion chips for a quick start.

Once you send your first message, the conversation is created and you're taken to the conversation view.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Chat home with language selected and suggestion chips visible</p></div>

Suggestion Chips

Six prompt chips appear above the input to help you get started. The suggestions adapt to your context:

  • With a deck attached: quizzes, example sentences, roleplay using your vocabulary, and fill-in-the-blank exercises.
  • Without a deck: open conversation, phrase drills, grammar corrections, and Q&A practice.

Chips also appear during active conversations so you always have a starting point if you get stuck.

Chatting

Once a conversation is active, the interface shows your message history with a sticky input area at the bottom.

Streaming Responses

The AI's responses stream in real time, so you see the text appear as it's generated. While the AI is responding, the submit button changes to a stop button. Click it or press Escape to stop generation early. Any text already generated is kept.

Message Actions

Hover over an assistant message to reveal action buttons. You can copy the message text to your clipboard, or regenerate the response, which deletes the last assistant reply and generates a new one (this is only available on the most recent assistant message).

If a message fails to send, a retry option appears so you can resend it.

Loading Older Messages

Conversations load the most recent messages first. If the conversation has older messages, a "Load older messages" button appears at the top of the chat showing how many remain. Click it to load more.

Auto-Generated Titles

After your first message, the AI automatically generates a title for the conversation, which appears in the header. You can edit it anytime by clicking the pencil icon that appears on hover.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Active conversation with streaming response and message actions</p></div>

Deck Context

Attaching deck content gives the AI access to your flashcard vocabulary, which makes conversations more relevant to what you're actually studying.

How to Attach Context

Click the context selector in the input area (available on both the home page and during active conversations). A picker opens showing your decks with thumbnails and card counts. Pick a deck, then choose how you want to attach it:

  • Whole deck attaches every card in the deck.
  • Sections lets you pick one or more sections.
  • Cards lets you pick specific cards.

When picking individual cards, filters let you narrow the list by study state:

  • All cards: no filter.
  • Due to review: cards scheduled for review today or overdue.
  • Difficult: cards you've marked as difficult.
  • Not yet learned: cards you haven't started yet.
  • Learned: cards you've mastered in spaced repetition.

This makes it easy to set up focused sessions like "quiz me on just the verbs I'm struggling with" or "help me drill the cards due today." The AI sees the front and back of each selected card, plus any custom field data, and uses them as reference material.

Attached context appears as removable chips near the input. If you pick several cards or sections, they group into a single chip (for example, "3 cards") that you can click to edit your selection. All items in a conversation must come from the same deck, so to switch decks, clear the current context first.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Deck context picker with card selection filters visible</p></div>

What the AI Receives

When a deck is attached, the AI gets four kinds of information about your studies:

  • Card content — fronts, backs, and any custom field data (part of speech, gender, notes, etc.), used naturally in conversation rather than read back to you.
  • Study progress — how many cards you've learned, how many are due, and your overall accuracy on the deck.
  • Difficult cards — cards you've flagged as difficult during study, so the AI can give them extra attention.
  • Deck metadata — the deck name and total card count.

Small vs Large Decks

How the AI sees your deck depends on its size.

Up to 200 cards: the AI gets every card, so it can reference and practice your full vocabulary in a single conversation. This is the ideal experience.

More than 200 cards: the AI gets a relevant subset on each message, cards that match what you're discussing, plus cards it hasn't shown you yet. The subset shifts across messages to keep conversations fresh rather than cycling through the same cards.

The first time you attach a large deck, the app prepares it for this in the background. This only needs to happen once per deck, and you can keep chatting while it runs.

Tip: For the best chat experience, keep decks under 200 cards, or split larger decks into sections of 200 or fewer and attach each section individually. With the full deck in scope, the AI can systematically work through every card; with a relevant subset, some cards may not come up in a given conversation.

Vocab Highlighting

When a conversation has deck context with vocabulary terms, the AI's responses can highlight words from your deck inline. Highlighted terms appear with a colored background. Hover over a highlighted word to see its translation in a tooltip.

Toggle vocab highlighting on or off using the highlighter icon in the input area. The toggle is only visible when vocabulary terms are available from your attached deck context.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Message with vocab highlighting showing a hover tooltip translation</p></div>

AI Models

Three AI providers are available, each with multiple models: OpenAI provides GPT models, Anthropic provides Claude models, and Google provides Gemini models.

Base Models

Two models are included with your subscription and available without any additional setup: GPT-4o Mini (OpenAI) and Gemini 2.0 Flash (Google).

Base models have a daily message limit. See Daily Limits and Usage for details.

Switching Models

Click the model selector on the chat home page to browse every model, grouped by provider. Models that require an API key you haven't added are shown dimmed with a key icon and cannot be selected; hover over one to see which provider's key unlocks it, and add the key in Settings > API Keys. Your choice is fixed for that conversation and cannot be changed after the first message is sent; if you would like to switch models, you need to start a new conversation.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Model selector grouped by provider with dimmed BYOK models</p></div>

Bring Your Own Key

BYOK (Bring Your Own Key) lets you plug in your own API keys from OpenAI, Anthropic, or Google. Two benefits:

  • Access to premium models like GPT-4.1, Claude Sonnet, and Gemini Pro. These tend to handle nuanced grammar explanations, complex conversations, and less common languages more capably than the base tier.
  • No daily message limit. See Daily Limits and Usage for how the limit works on the base tier.

Setting Up Keys

API keys are configured in Settings > API Keys. Keys are encrypted before storage and never exposed after saving. For setup instructions, see the settings documentation.

Generating Flashcards

You can extract vocabulary and phrases from any conversation and turn them into flashcards. This is a two-step process: configure, then review.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Card generation dialog in the configure step</p></div>

Step 1: Configure

Click the Generate flashcards button in the conversation header. A dialog opens with two or three options to set up, depending on whether you pick an existing deck or create a new one:

  1. Select a deck. Choose an existing deck (filtered to match the conversation's language) or create a new deck by typing a name.
  2. Select a section (existing deck only). Choose an existing section or create a new one.
  3. Card count. Pick how many cards to generate: 10, 20, 30, 40, or 50. The available options depend on conversation length, and longer conversations support more cards. The AI may sometimes generate fewer cards than requested if the conversation doesn't contain enough unique vocabulary to fill the count.

Click "Generate Cards" to start extraction. The AI analyzes your conversation and identifies key vocabulary, useful expressions, and grammar patterns.

Step 2: Review

The dialog transitions to a review screen showing all generated card suggestions. Each suggestion has editable front and back fields (labeled with your base and target languages). You can edit any card's text inline or remove individual cards. Cards with empty fields are highlighted so you can fix or remove them.

When you're satisfied, click "Create N Card(s)" to add them to your deck. The cards are created in batch and you're notified on success.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Card generation dialog in the review step with editable suggestions</p></div>

Managing Conversations

Conversation Library

The chat home page includes your conversation history below the new conversation area. Each conversation is listed with its title, auto-generated summary, message count, and the time it was last active. You can search by title using the search field, filter to a specific language using the language dropdown, and navigate results with pagination (20 per page).

Click any conversation to reopen it and pick up where you left off.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Conversation library with search and language filter</p></div>

Renaming

Click the three-dot menu on a conversation and select "Rename" to change its title. You can also click the pencil icon in the conversation header.

Deleting

Click the three-dot menu on a conversation and select "Delete", or click the trash icon in the conversation header. A confirmation dialog explains that deletion is permanent and removes all messages.

Exporting Conversations

Click the export button (download icon) in the conversation header to open the export dialog. Three options are available:

FormatDescription
MarkdownDownloads a .md file with formatted conversation text
Plain TextDownloads a .txt file with plain conversation text
Copy to ClipboardCopies the conversation text to your clipboard

Exported files include the conversation title, language, date, and all messages labeled "You" (your turns) and "Assistant" (the AI's turns).

Daily Limits and Usage

Message Limits

Users without BYOK API keys are limited to 50 messages per day using the base models. A message is counted each time you send a prompt to the AI, so 50 messages means up to 50 back-and-forth exchanges per day. Regenerating a response also counts as an additional message and contributes towards the daily limit.

Each message incurs a cost from the AI provider (both for processing your prompt and generating the response), so the daily limit is a cost-control measure to keep the subscription price affordable.

The limit resets at midnight based on your timezone. When the limit is reached, the input placeholder changes to "Daily message limit reached," a message below the input explains when the limit resets, and the suggestion chips are disabled.

<div class="my-6 rounded-md border border-border bg-muted/30 flex items-center justify-center aspect-video max-w-4xl"><p class="text-sm text-muted-foreground">Chat input in the daily-limit-reached state</p></div>

Removing the Limit

Add your own API key for any provider to remove the daily limit entirely. BYOK users can send unlimited messages. See Bring Your Own Key and Settings > API Keys.

Tips and Troubleshooting

Responses seem generic or not related to your vocabulary? Attach a deck as context. Without context, the AI doesn't know what you're studying and gives general language practice.

Vocab highlighting isn't showing up? Make sure you have a deck attached as context and that the toggle (highlighter icon in the input area) is enabled. Highlighting only works when vocabulary terms are available from your deck.

Model dimmed with a key icon? That model requires a BYOK API key. Add your key in Settings > API Keys, or pick one of the base models (GPT-4o Mini or Gemini 2.0 Flash).

Hit the daily limit? Add your own API key to remove the limit entirely. See Bring Your Own Key.

First-time deck attach is taking a while? Large decks (more than 200 cards) need a one-time prep step before the AI can work with them. It runs in the background while you chat, and only happens once per deck. To avoid this, it is recommended to break large decks into sections and study them individually. See Small vs Large Decks.

Want more cards from generation? Have a longer conversation first. The available card count scales with conversation length, since the AI needs enough content to pull meaningful vocabulary.

Message rejected as too long? Each message is capped at 10,000 characters. Split very long prompts into several shorter messages.

Too many items attached as context? You can attach one whole deck, up to 50 sections, or up to 50 individual cards to a single conversation. Context can't be mixed across modes (a whole deck is exclusive, and sections and cards can't be combined), and everything attached must come from the same deck. If you're hitting the 50-item limit on cards, attach the parent section instead to cover all of its cards as one item.

"API key is no longer configured" partway through a conversation? If a saved BYOK key stops working (revoked at the provider, spending cap reached, or a rare decryption issue), the app clears the broken key. Free models (GPT-4o Mini, Gemini 2.0 Flash) keep working but now count against the daily limit. Any premium model that requires a key fails with this error until the key is re-added in Settings > API Keys.

  • Settings > API Keys covers API key setup and model preferences.
  • Decks covers creating and managing your flashcard decks.
  • Studying walks through studying flashcards, including ones generated from conversations.
  • Getting Started covers initial setup and an app overview.