Why QVocalWriter Exists
How I got the idea to make this app.
Software & Coffee at the Edge of the Universe
Banner image: ChatGPT’s take on a local LLM
QVocalWriter is an open-source, cross-platform, privacy-focused, traditional desktop application for working with spoken and written language using AI locally on your PC.
It started as a speech-to-text tool for long-form writing and has grown into a modular toolset with independent features for transcription, translation, and assistant-based chat.
It’s written in C++20 using Qt, with QML for the UI. That means it can run on modest hardware. Unlike Electron apps, the application starts instantly, uses only about 200 MB of memory, and consumes very few resources—leaving most of the machine’s available capacity free for the LLM itself.
I’ve always been uncomfortable translating confidential or personal information using cloud services like Google Translate or ChatGPT. With this app, I can translate locally with 100% privacy. I can also chat with AI models about things I would never discuss with a cloud-based AI, such as mental or physical health, ask for unbiased information about controversial topics, or simply proofread confidential emails or instant messages. As a curious tech nerd, I also enjoy exploring different open-source AI models—asking them the same questions and seeing how the answers vary from model to model.
The app can also perform its original job by allowing me to speak to it through the PC’s microphone, transcribe the audio to text, clean it up, structure it for its intended use, and translate it into another language if needed. Most of what I publish online today is in English, but my native language is Norwegian. It’s often easier for me to dictate something in Norwegian and let the app handle the translation.
This is a blog series about the app. I hope you enjoy it—and that you’ll get the opportunity to try QVocalWriter yourself when it’s finished.
Note that the articles on this page are listed chronologically, oldest first.
How I got the idea to make this app.