Getting Started with FiavaionDictate
Install and launch FiavaionDictate — the local AI-powered dictation tool that works in any browser tab.
Welcome to FiavaionDictate
FiavaionDictate lets you dictate into any text field in your browser — emails, documents, code editors, chat windows, whatever you have open. You speak, it types, and AI quietly cleans up the result.
It runs as a tiny local server on your own machine. No cloud accounts required. No subscription. No data leaving your computer unless you choose a cloud AI provider.
Five steps to your first dictation
Step 1 — Download the app
Download FiavaionDictate (zip)
- Click the button above to go to the Releases page
- Download FiavaionDictate-v0.1.0-beta.zip (the file under “Assets”)
- Extract the zip anywhere you like — your Desktop, Documents, wherever makes sense
That’s it. No installer, no terminal commands, no git needed.
Not ready to install yet? Try the live demo first — dictation works right in the browser. (Project management and some AI features need the local server, but you can test the core experience.)
Developer? You can also
git clone https://github.com/Fiavaion/dictate.gitif you prefer to pull updates withgit pull.
Step 2 — Start the app
- Windows: Double-click
start.bat - Mac / Linux: Double-click
start.command(or runbash start.commandfrom a terminal)
A small terminal window will appear — that’s the server running. Leave it open while you use the app.
Step 3 — The app opens in your browser
FiavaionDictate automatically opens at http://localhost:8080. You’ll see the main dictation interface — a large text area, a microphone button, and a status bar along the bottom.
If the browser doesn’t open automatically, open Chrome or Edge yourself and go to http://localhost:8080.
Step 4 — Follow the Setup Wizard
On your first visit, the Setup Wizard runs automatically. It has five short steps:
- System Check — confirms the server is running and checks your browser
- Local AI — helps you set up Ollama for free, private AI correction
- Cloud AI — shows you free options if you’d prefer cloud AI
- API Keys — lets you paste any keys you have
- Ready — you’re set up and ready to dictate
Each step is optional except Step 1. You can skip any AI setup step and come back to it later from the Settings panel.
Step 5 — Click the mic and start talking
Click the microphone button (or press Space when the text area is focused). It turns red when listening. Start speaking naturally.
Try saying: “hello world period” — you should see “Hello world.” appear in the text box. The word “period” is a voice command that inserts a full stop.
When you’re done, click the mic again or say “stop dictation”.
Tip: You can also click directly into the text area to type or paste text manually. Dictation and manual editing work side-by-side — you can speak a paragraph, then click in to fix a word, then continue dictating. To use AI selection transforms (simplify, rewrite, fix, etc.) on existing text, highlight a range with your mouse and say the command.
Getting the files
Option A — Download the release zip (recommended)
Go to the Releases page and download the .zip file from Assets. Extract it anywhere.
Option B — Clone with git (for developers who want easy updates)
git clone https://github.com/Fiavaion/dictate.git
cd dictateThen run git pull any time you want to update.
Running the server manually
The launcher scripts just call python server.py. You can run it directly:
python server.pyTo change the port:
python server.py --port 9000The server then listens at http://localhost:9000. No other flags are required.
Requirements: Python 3 standard library only. No pip installs, no virtual environments, no dependencies. If you have Python 3 installed, it runs.
config.json
Place a config.json in the app root to configure persistent settings:
{
"projectsRoot": "/path/to/your/projects"
}
| Key | Type | Default | Description |
|---|---|---|---|
projectsRoot | string | "" | Absolute path to a folder of projects. Used by the project switcher panel. |
Leave config.json absent entirely if you don’t use the project switcher — the app works fine without it.
Server architecture
The Python server has three responsibilities:
- Static file server — serves the entire
public/directory at/ /api/projects— lists subdirectories ofprojectsRootfor the project switcher panel/api/ai/proxy— forwards requests to cloud AI providers (Gemini, Anthropic, OpenAI). This proxy exists solely to avoid CORS issues; it adds no processing and does not log request bodies.
All speech recognition happens in the browser via the Web Speech API. The server never receives audio.
Security model
API keys are stored using AES-GCM encryption with PBKDF2 key derivation in your browser’s localStorage. The encryption key is derived from a device fingerprint — keys are tied to your browser profile and are not readable by any other site or by the FiavaionDictate server.
Keys are transmitted directly from your browser to the AI provider’s API endpoint. They do not pass through any Fiavaion infrastructure.
To remove all stored keys: Settings → Security → Clear All Keys.
GitHub Pages mode
When you access FiavaionDictate from the GitHub Pages URL (https://fiavaion.github.io/dictate/), the app auto-detects that no local server is present. In this mode:
- The project switcher panel is hidden
- The
/api/ai/proxyroute is unavailable — cloud AI calls go directly to provider APIs (requires CORS support from the provider, which Gemini supports) - All dictation and local AI features work normally
Browser requirements
| Browser | Support | Notes |
|---|---|---|
| Chrome 80+ | Full | Recommended |
| Edge 80+ | Full | Chromium-based Edge only |
| Firefox | No | Web Speech API not supported |
| Safari | Partial | Web Speech API support varies by version |
The Web Speech API is a browser feature — FiavaionDictate cannot polyfill it. Chrome and Chromium-based Edge are the reliable choices.
Troubleshooting
Microphone not working
Check browser permissions first. Chrome blocks microphone access until you explicitly allow it.
- Look for the camera/mic icon in Chrome’s address bar (far right of the URL bar)
- Click it and select Allow for microphone
- Reload the page
If you don’t see that icon, go to Chrome Settings → Privacy and Security → Site Settings → Microphone and make sure localhost is in the allowed list.
Also check your operating system microphone permissions:
- Windows: Settings → Privacy → Microphone → make sure Chrome is allowed
- Mac: System Settings → Privacy & Security → Microphone → enable Chrome
Browser not supported
You’ll see a banner reading “Web Speech API not available in this browser” if you’re using Firefox, older Safari, or an unsupported Chromium fork.
Fix: Open FiavaionDictate in Chrome or Microsoft Edge. Both are free downloads. You don’t need to set Chrome as your default browser — just use it for dictation.
Speech recognition not understanding you
The Web Speech API uses Google’s cloud speech recognition (in Chrome). A few things to check:
- Microphone quality matters. A headset or dedicated USB mic gives much better results than a laptop’s built-in mic in a noisy room.
- Speak at a steady pace. Rapid speech with heavy mumbling trips it up. You don’t need to speak slowly, but clear articulation helps.
- Background noise. Close doors, turn off fans, move away from air conditioning vents.
- Language setting. The app uses your browser’s language by default. If recognition is picking up the wrong language, go to Settings → Dictation → Language and set it explicitly.
- “interim” text looks wrong but corrects itself. That’s normal — the grey interim text is the engine’s live guess. The final (white) text is the committed result. Give it a moment before deciding something is wrong.
AI correction not connecting
If the AI status badge in the footer shows red or “unavailable”:
For Ollama (local AI):
- Make sure Ollama is running — open a browser tab and go to
http://localhost:11434. You should see the text “Ollama is running”. - If Ollama isn’t running, open it from your Applications folder (Mac) or system tray (Windows).
- Make sure you’ve pulled at least one model: run
ollama listin a terminal. If the list is empty, runollama pull gemma3:4b.
For cloud AI (Gemini, Claude, OpenAI):
- Open Settings → AI → API Keys and check your key is entered.
- Click Test next to the key to verify it’s valid.
- Check your internet connection.
- Check the provider’s status page — outages do happen.
If AI correction is unavailable, dictation still works fine — you just won’t get the AI cleanup pass. Dictated text is never lost because AI is offline.
Next Steps
- Set up AI correction → AI Provider Setup
- Learn voice commands → Full Voice Commands Reference
- Understand the Setup Wizard → First Run Wizard Walkthrough