A language writing journal for aspiring interpreters.
Practice writing in Spanish and French with real-time AI grammar feedback.
- Journal: write sentences in your target language and get structured AI feedback (corrections, register, CEFR level, higher-level rephrasings) as you go.
- Grammar Guide: verb tenses and grammar rules, A1–C2, per practice language.
- Regional Guide: regional vocabulary, pronouns, and dialect traps, with a "your region vs. theirs" picker.
- Parlance Coach: on-device Spanish/French grammar coaching (Qwen 0.5B fine-tunes running fully offline via MLX), or plug in a cloud provider.
- Call Packs: 30 free AI analyses a month, with an optional $0.99 top-up for 100 more.
- Dark mode and interface language (EN/ES/FR) that apply consistently across the journal, guides, and regional content.
git clone https://github.com/Montrez/ParlanceApp.git
cd ParlanceApp
open Parlance.xcodeproj- Set your signing team under Signing & Capabilities
- Connect your device or pick a simulator
- Run (Cmd+R)
Visit the GitHub Pages site — no install needed. You can run AI in-browser with WebLLM or connect a cloud provider.
npx cap sync androidOpen android/ in Android Studio and run on a device or emulator.
On-device grammar coaching on iOS using Qwen 0.5B fine-tunes (~294 MB MLX 4-bit per language, bundled at archive). See training/ARCHIVE_SPANISH.md.
./training/prepare_ios_coach_model.sh- Archive in Xcode (physical device recommended)
- In the app: ⚙ AI → Parlance Coach, journal language Spanish or French
Optional Mac dev server: python3 training/parlance_slm_server.py.
The default provider is Groq (free, fast, runs Qwen 3 32B). Get a key at console.groq.com/keys.
On iOS: Create Parlance/Secrets.plist with your key:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>GROQ_API_KEY</key>
<string>YOUR_KEY</string>
</dict>
</plist>On any platform: You can also set your API key directly in the app via the AI Settings button.
Supported providers: Groq, OpenAI, Anthropic, Google Gemini, DeepSeek, Kimi, OpenRouter, Apple Intelligence (on-device, iOS 26+).
Use a Firebase project (default in firebase/.firebaserc: parlance-926ef) with the Blaze plan for Cloud Functions secrets and outbound API calls.
- Firebase Console → your project → Build → Authentication → Sign-in method
- Enable Apple and Google
- For Apple: add your iOS bundle ID
com.parlance.interpreterguideand configure Sign in with Apple in Apple Developer (Services ID / key as required by Firebase docs) - For Google: add the iOS client; download config below
- Project settings → Your apps → add iOS app with bundle ID
com.parlance.interpreterguide - Download GoogleService-Info.plist → copy to
Parlance/GoogleService-Info.plist(seeParlance/GoogleService-Info.plist.example) - In Xcode: add the plist to the Parlance target if not already present
- Replace
REPLACE_WITH_REVERSED_CLIENT_IDinParlance/Info.plistCFBundleURLSchemes with theREVERSED_CLIENT_IDvalue from the plist - Enable Sign in with Apple capability on the Parlance target
- Register a Web app in the same Firebase project
- Copy
docs/firebase-config.example.js→docs/firebase-config.jsand fill in the web config object - Deploy
docs/as usual; the site loads Firebase compat SDK from the CDN (seedocs/index.html)
- Install CLI:
npm install -g firebase-tools - Set provider API keys as secrets (see firebase/README.md)
- Deploy:
cd firebase && firebase deploy --only functions
Signed-in users call the analyzeText callable; API keys stay in Secret Manager, not on devices.
- Write a sentence in your target language
- Parlance selects relevant grammar rules, exam context (DELE/DELF), and domain terminology via RAG
- An AI model returns structured feedback: corrections, register analysis, higher-level rephrasings, and interpreter tips
Feedback infers the sentence’s CEFR level (A1–C2) when the model is confident, plus a complexity note when it isn’t. Register identification and professional phrasing for medical, legal, and conference interpreting are included.
Active work is tracked as GitHub issues, grouped into epics:
- English learning path for Spanish/French native speakers
- Language architecture — making it easier to add new languages and sections
- Central design system — one source of truth for colors across web, native, and the app icon
- App layout & UX polish
- Coach model quality
See the full issue list for everything currently open.
Built with SwiftUI + WKWebView + RAG + Groq