Technology
A local-first AI stack, built in Europe, that respects how learning actually happens.
Whisper for local transcription on every platform, Built-in AI for on-device summaries on macOS, Windows, and Linux, and Tauri for the desktop shell. Ollama and optional Pro cloud are additional provider choices.
Foundation models
Three open-weight families. All three European in spirit, two in origin.
We picked the AI stack that best serves a European education product: open weights, on-device first, with European foundation models leading the summarisation tier.
Speech recognition
Whisper (open-weight, GPU-accelerated)
OpenAI's Whisper model compiled to native code via Whisper.cpp, running locally with Metal on Apple Silicon macOS, CUDA on NVIDIA, or Vulkan on AMD / Intel acceleration. It recognises many languages with no internet required. RMS voice activity detection is the default silence filter; optional Silero neural VAD is available when downloaded and enabled.
Summarisation · French
Mistral AI
Ministral 3B (default), Ministral 8B, and Mistral Nemo 12B run entirely on-device via llama.cpp on macOS, Windows, and Linux. These bundled Built-in AI models are free, need no key, and work without internet after download. Ollama (Free, local) and Pro cloud (BYOK) are optional alternative providers.
Summarisation · EU consortium
EuroLLM
EuroLLM 9B is the bundled multilingual EU model for European language mixing and code-switching. It runs locally through the same on-device Built-in AI path as the Mistral-family GGUF models, on macOS, Windows, and Linux.
Architecture
Four layers. No cloud round-trip required for any of them.
The desktop shell, the inference engines, the local store, and the optional Pro cloud providers. Each layer is replaceable; none of them is required to talk to a server we control.
Layer 01
Native desktop shell (Tauri + Rust)
The application is a Tauri app, not an Electron one. Rust handles audio capture, file I/O, and OS-level integration; the UI ships as a Next.js / React surface inside a webview. Tauri keeps the binary small (~12 MB shell) and the privilege boundary tight.
Layer 02
On-device inference engine (llama.cpp + Whisper.cpp)
Whisper.cpp runs speech-to-text locally on every platform, and llama.cpp runs Built-in AI summaries on-device on macOS, Windows, and Linux. Optional providers are local Ollama (Free) and Pro cloud (BYOK). GGUF format lets quantised models stream from disk and use 30-60% less RAM than naive PyTorch loads.
Layer 03
Local SQLite store on your machine
Recordings, transcripts, and summaries live as plaintext local files in your application support directory. API keys for optional cloud providers are protected by the operating system keychain.
Layer 04
Pro cloud AI providers (BYOK)
Cloud providers are Mistral, OpenAI, and Anthropic, and they require Pro even when you bring your own key. Ollama is a separate Free local provider. Gemini is legacy-only for existing saved keys. Managed keyless cloud is planned for v2.1, not live.
Compliance
Designed against the regulations the institutions we serve are bound by.
EU AI Act, GDPR, WCAG. Three frameworks that this stack was architected against from day one — not retrofitted.
EU AI Act, Article 50
Transparent AI labelling
All AI-generated content is clearly marked. In Study Sage chat the provider and model behind each reply are shown; summaries are labelled AI-generated in the app.
GDPR — Article 25
Privacy by design and by default
Recordings and audio never leave your device. On the Free tier everything stays local; with optional cloud AI, only text is sent to your chosen provider (never audio): your transcript for summaries, and your question plus recent chat history and meeting context for Study Sage chat.
WCAG 2.2 Level AA
Accessibility built in
Reduced motion, high contrast, low-stim mode, full keyboard navigation, and screen-reader semantics — first-class concerns, not bolt-ons.
See it for yourself
Read the source. Run it locally.
The full source for the desktop app and the website is open source on GitHub.