What Is Blogher?
Blogher is a voice-driven personal blogging application with a beautiful
analog-style interface. And a beautiful Female voice for the AI.
- Three large dials let you browse your blog by month, day, and hour.
- Category buttons organise your thoughts.
- *A single click starts recording — speak naturally, and the AI restructures your rambling into a polished blog entry.
- Nothing is sent to the cloud. Everything runs locally.
Features
Hardware-Inspired Interface
- 3D dials for MONTH, DAY, and HOUR with smooth mouse rotation
- Heat-map ticks — days with entries glow in colour (blue → green → yellow → red)
- Month names displayed on the dial (JAN, FEB, MAR…)
- Always on top — stays visible while you work
Voice Recording
- One-click recording via
arecord - Speech-to-text via Whisper (
wav2md) - AI blog post interpreter — qwen2.5:14b running locally on Ollama restructures your
voice into clean, readable prose - Short phrases stay short — the AI doesn’t invent content
- Text-to-speech playback via Kokoro TTS server
Category System
- 3 built-in categories: All, Work, Ideas
- Custom categories — click
+to create your own (persists across restarts) - Right-click to delete custom categories with no entries
- Categories act as both tags and filters
Browsing & Navigation
- Year selector with
arrows - All-posts view — shows every entry for the day at once

arrows cycle through individual posts within a day- Future times are locked — you can’t navigate past the current moment
Search
- Voice search — speak your search term
- Fuzzy matching — “Zog” finds “Zorg” entries
- Clickable results — each hit is a link that opens the full entry
- Red highlighting of matching terms in displayed posts
- Edit search text before confirming
Data Management
- SQLite database — all posts stored locally in
blog.db - CSV export — one-click export of all entries
- SAVE / DELETE controls for each post
- Delete protection — can’t remove categories that contain data
Self-Diagnosis
- AINSTALL dependency check at startup
- Detects missing: arecord, wav2md, Ollama, TTS server
- Lists missing items with installation instructions
--test-missingflag for testing without removing dependencies
Accessibility
- Works without voice — type directly into the RESULTS window
- Works without AI — skip the interpreter and save raw text
- Audio toggle (
/
) in the title bar
Requirements
| Component | Required? |
|---|---|
| Python 3.10+ | Yes |
| tkinter | Yes |
| arecord | Voice recording |
| wav2md + whisper-cli | Voice transcription |
| Ollama + qwen2.5:14b | AI blog interpretation |
| Kokoro TTS server | Speech playback |
Quick Start
python3 blogher.py
Select a category, click RECORD, speak, click STOP, review, click SAVE.
System Requirements
| Component | Required? | Check command |
|---|---|---|
| Python 3.10+ | Yes | python3 --version |
| tkinter | Yes | python3 -c "import tkinter" |
| arecord (ALSA) | Voice only | which arecord |
| wav2md + whisper-cli | Voice only | which wav2md |
| Ollama + qwen2.5:14b | Voice AI only | curl http://localhost:11434/api/tags |
| Kokoro TTS server | Voice playback only | curl http://127.0.0.1:18765/stop |
