A professional dual-timer application designed for podcast recording, featuring visual cues and audio alerts to help hosts manage episode and speaker timing.
- Dual Timers: Separate timers for episode duration and individual speaker segments
- Visual Feedback:
- Color-coded backgrounds (yellow at 75%, red at 90%)
- Contextual status messages at key thresholds
- Pulsing effects when time expires
- Audio Cues: Optional sound alerts at timing thresholds
- Speaker Pause: Pause the speaker timer independently while the episode timer keeps running
- Resize-to-Zoom: Drag the window larger or smaller — the UI scales proportionally
- Auto-Update Check: Checks GitHub releases on startup and shows a non-blocking banner if a newer version is available
- Customizable Settings:
- Light/Dark/System themes
- Always-on-top option
- Audio cue toggle
- Inline Editing: Quick timer adjustments via pencil icon
- Pause/Resume: Full episode timer control during recording
- Download
PodcastTimer.exefrom the latest release - Run the executable — no installation required
- Download
PodcastTimer-macOSfrom the latest release - Make it executable and run:
chmod +x PodcastTimer-macOS ./PodcastTimer-macOS
- Download
PodcastTimer-Linuxfrom the latest release - Make it executable and run:
chmod +x PodcastTimer-Linux ./PodcastTimer-Linux
- Ensure Python 3.8+ is installed
- Clone this repository:
git clone https://github.com/Hackpig1974/podcast-timer.git cd podcast-timer - Install dependencies:
pip install -r requirements.txt
- Run the application:
python podcast_timer.py
build_exe.batThe executable will be in the dist folder.
pip install pyinstaller
pyinstaller --onefile --windowed --name "PodcastTimer" podcast_timer.pyReleases are built automatically via GitHub Actions when a version tag is pushed.
- Set Timers: Click the pencil icon to edit episode and speaker durations
- Start Recording: Hit START to begin both timers simultaneously
- Monitor Progress: Watch for color changes and status messages
- Manage Speakers: Use NEXT/RESET to cycle to the next speaker
- Pause Speaker: Use the PAUSE button on the Speaker Timer to hold a speaker's time without stopping the episode clock
- Resize to Zoom: Drag any window edge to scale the entire UI up or down
- Pause/Resume Episode: Control the episode timer during breaks
Episode Timer:
| Progress | Status |
|---|---|
| 0–50% | Normal recording |
| 50–55% | "HALF WAY THERE" |
| 75–90% | "START SUMMARIZING" |
| 90–100% | "FINALIZE THE EPISODE" |
| 100%+ | "TIME'S UP" with pulsing alert |
Speaker Timer:
| Progress | Status |
|---|---|
| 0–75% | "DOING GREAT" |
| 75–90% | "GET TO THE POINT" |
| 90–100% | "WRAP IT UP" |
| 100%+ | "TIME'S UP" with pulsing alert |
- Python 3.8+
- customtkinter >= 5.2.0
- pygame-ce >= 2.4.0
- numpy >= 1.24.0
- darkdetect >= 0.8.0
podcast-timer/
├── podcast_timer.py # Main application (single file)
├── requirements.txt # Python dependencies
├── build_exe.bat # Windows manual build script
├── install_and_run.bat # Windows quick-start script
├── create_icon.py # Icon generation script
├── .github/workflows/ # GitHub Actions build pipeline
└── README.md # This file
MIT License — see LICENSE file for details
Developed by Damon Downing, 2026
Made for podcasters, by podcasters. 🎙️
