Show HN: Pratevenn – A speaking buddy for Norwegian (Bokmål) learners UrukiApp released Pratevenn, an open-source, fully offline AI speaking partner for Norwegian Bokmål learners that runs locally via Docker on CPU or NVIDIA GPUs with 8GB or more of VRAM. Pratevenn provides real-time Bokmål conversation, grammar tips, and mistake review, using NB-Whisper for speech recognition, Piper for text-to-speech, and Gemma 4 models for conversation and review, and is in early development with bugs and breaking changes expected. Pratevenn lets you practice speaking Norwegian with an AI on your own computer while everything stays on your machine. - Full real-time conversation in natural Norwegian Bokmål with a simple UI - Fully private and offline no internet or cloud accounts needed - Shows grammar tips as you chat and lets you review your mistakes - Supports both CPU and NVIDIA GPUs for faster replies Important Pratevenn is in early development, so bugs and breaking changes are expected. Please use the issues page https://github.com/UrukiApp/pratevenn/issues to report bugs or request features. Before you begin, make sure you have Docker https://docs.docker.com/get-docker/ with Compose V2 installed on your system. Use the included compose.yaml https://github.com/UrukiApp/pratevenn/blob/main/compose.yaml , or save the text below as compose.yaml : services: pratevenn: image: ghcr.io/urukiapp/pratevenn-cpu:${PRATEVENN VERSION:-latest} environment: - PRATEVENN MODEL DIR=/models - PRATEVENN HOST=0.0.0.0 - PRATEVENN DATA DIR=/data ports: - "127.0.0.1:${PORT:-8000}:8000" volumes: - models:/models - data:/data restart: unless-stopped pratevenn-cuda: image: ghcr.io/urukiapp/pratevenn-cuda:${PRATEVENN VERSION:-latest} environment: - PRATEVENN MODEL DIR=/models - PRATEVENN HOST=0.0.0.0 - PRATEVENN DATA DIR=/data - NVIDIA VISIBLE DEVICES=all - NVIDIA DRIVER CAPABILITIES=compute,utility ports: - "127.0.0.1:${PORT:-8000}:8000" volumes: - models:/models - data:/data deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: gpu profiles: - cuda restart: unless-stopped volumes: data: driver: local models: driver: local Download all the models before starting the container: docker compose run --rm pratevenn setup --full You only need to do this one time, at the start. It also may take a while, depending on your internet speed. Start the CPU version: docker compose up -d If you have an NVIDIA GPU on your machine, start the CUDA version instead: docker compose --profile cuda up -d pratevenn-cuda Important Using the CUDA image using an NVIDIA GPU with 8GB of VRAM or more is the recommended way of running Pratevenn. Note that normally on Linux you need to have the NVIDIA Container Toolkit https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html installed. Open http://localhost:8000 http://localhost:8000 in your browser and click Start conversation . Use standard Docker Compose commands to manage Pratevenn: docker compose up -d Start Pratevenn docker compose stop Stop Pratevenn keeps your models and data docker compose down Remove containers docker compose down -v Remove containers with downloaded models and saved chats docker compose logs -f Check the logs The diagram below shows the architecture of Pratevenn and its components in detail. See CONTRIBUTING.md https://github.com/UrukiApp/pratevenn/blob/main/CONTRIBUTING.md to learn how to contribute. The logo is generated with the help of ChatGPT https://chatgpt.com/ . Additionally, Pratevenn uses the following open-source projects and models for its core functionality: - NB-Whisper https://huggingface.co/NbAiLab/nb-whisper-large for Norwegian speech recognition. - Piper https://github.com/OHF-Voice/piper1-gpl for text-to-speech synthesis. - Gemma 4 models https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/ for the conversation and reviewing the chat. - llama.cpp https://github.com/ggerganov/llama.cpp and llama-cpp-python https://github.com/abetlen/llama-cpp-python for inference on CPU and GPU. - faster-whisper https://github.com/SYSTRAN/faster-whisper for speech-to-text transcription. Pratevenn is licensed under the MIT License see LICENSE https://github.com/UrukiApp/pratevenn/blob/main/LICENSE .