I made a Blogger for Gentlemen ;-)

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 :reverse_button: :play_button: arrows
  • All-posts view — shows every entry for the day at once
  • :reverse_button::play_button: 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-missing flag 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 (:speaker_high_volume:/:muted_speaker:) 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