{"slug": "show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners", "title": "Show HN: Pratevenn – A speaking buddy for Norwegian (Bokmål) learners", "summary": "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.", "body_md": "Pratevenn lets you practice speaking Norwegian with an AI on your own computer while everything stays on your machine.\n\n- Full real-time conversation in natural Norwegian Bokmål with a simple UI\n- Fully private and offline (no internet or cloud accounts needed)\n- Shows grammar tips as you chat and lets you review your mistakes\n- Supports both CPU and NVIDIA GPUs (for faster replies)\n\nImportant\n\nPratevenn is in early development, so bugs and breaking changes are expected.\nPlease use the [issues page](https://github.com/UrukiApp/pratevenn/issues) to report bugs or request features.\n\nBefore you begin, make sure you have [Docker](https://docs.docker.com/get-docker/) (with Compose V2) installed on your system.\n\nUse the included [compose.yaml](https://github.com/UrukiApp/pratevenn/blob/main/compose.yaml), or save the text below as `compose.yaml`:\n\n```\nservices:\n    pratevenn:\n        image: ghcr.io/urukiapp/pratevenn-cpu:${PRATEVENN_VERSION:-latest}\n        environment:\n            - PRATEVENN_MODEL_DIR=/models\n            - PRATEVENN_HOST=0.0.0.0\n            - PRATEVENN_DATA_DIR=/data\n        ports:\n            - \"127.0.0.1:${PORT:-8000}:8000\"\n        volumes:\n            - models:/models\n            - data:/data\n        restart: unless-stopped\n\n    pratevenn-cuda:\n        image: ghcr.io/urukiapp/pratevenn-cuda:${PRATEVENN_VERSION:-latest}\n        environment:\n            - PRATEVENN_MODEL_DIR=/models\n            - PRATEVENN_HOST=0.0.0.0\n            - PRATEVENN_DATA_DIR=/data\n            - NVIDIA_VISIBLE_DEVICES=all\n            - NVIDIA_DRIVER_CAPABILITIES=compute,utility\n        ports:\n            - \"127.0.0.1:${PORT:-8000}:8000\"\n        volumes:\n            - models:/models\n            - data:/data\n        deploy:\n            resources:\n                reservations:\n                    devices:\n                        -   driver: nvidia\n                            count: all\n                            capabilities: [ gpu ]\n        profiles:\n            - cuda\n        restart: unless-stopped\n\nvolumes:\n    data:\n        driver: local\n    models:\n        driver: local\n```\n\nDownload all the models before starting the container:\n\n```\ndocker compose run --rm pratevenn setup --full\n```\n\nYou only need to do this one time, at the start. It also may take a while, depending on your internet speed.\n\nStart the CPU version:\n\n```\ndocker compose up -d\n```\n\nIf you have an NVIDIA GPU on your machine, start the CUDA version instead:\n\n```\ndocker compose --profile cuda up -d pratevenn-cuda\n```\n\nImportant\n\nUsing the CUDA image (using an NVIDIA GPU with 8GB of VRAM or more) is the recommended way of running Pratevenn.\nNote that normally on Linux you need to have\nthe [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) installed.\n\nOpen [http://localhost:8000](http://localhost:8000) in your browser and click *Start conversation*.\n\nUse standard Docker Compose commands to manage Pratevenn:\n\n```\ndocker compose up -d                    # Start Pratevenn\ndocker compose stop                     # Stop Pratevenn (keeps your models and data)\ndocker compose down                     # Remove containers\ndocker compose down -v                  # Remove containers (with downloaded models and saved chats)\ndocker compose logs -f                  # Check the logs\n```\n\nThe diagram below shows the architecture of Pratevenn and its components in detail.\n\nSee [CONTRIBUTING.md](https://github.com/UrukiApp/pratevenn/blob/main/CONTRIBUTING.md) to learn how to contribute.\n\nThe logo is generated with the help of [ChatGPT](https://chatgpt.com/).\n\nAdditionally, Pratevenn uses the following open-source projects and models for its core functionality:\n\n- [NB-Whisper](https://huggingface.co/NbAiLab/nb-whisper-large) for Norwegian speech recognition.\n- [Piper](https://github.com/OHF-Voice/piper1-gpl) for text-to-speech synthesis.\n- [Gemma 4 models](https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/) for the conversation and reviewing the chat.\n- [llama.cpp](https://github.com/ggerganov/llama.cpp) and[llama-cpp-python](https://github.com/abetlen/llama-cpp-python) for inference on CPU and\nGPU.\n- [faster-whisper](https://github.com/SYSTRAN/faster-whisper) for speech-to-text transcription.\n\nPratevenn is licensed under the MIT License (see [LICENSE](https://github.com/UrukiApp/pratevenn/blob/main/LICENSE)).", "url": "https://wpnews.pro/news/show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners", "canonical_source": "https://github.com/UrukiApp/pratevenn", "published_at": "2026-10-06 18:56:44+00:00", "updated_at": "2026-10-06 19:20:44.153326+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "natural-language-processing", "large-language-models", "developer-tools"], "entities": ["Pratevenn", "UrukiApp", "NB-Whisper", "Piper", "Gemma 4", "Docker", "NVIDIA", "ChatGPT"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners", "markdown": "https://wpnews.pro/news/show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners.md", "text": "https://wpnews.pro/news/show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners.txt", "jsonld": "https://wpnews.pro/news/show-hn-pratevenn-a-speaking-buddy-for-norwegian-bokmal-learners.jsonld"}}