The problem
Free timer tools dominate search and disrespect the user. Ad-stuffed pages, settings that don’t persist, no way to share or embed, no offline mode. There’s a real audience — teachers, broadcasters, event runners, fitness coaches — willing to pay a small amount for a timer that just works. We built for them.
What we built
TimerForge ships in two forms. The desktop app is built in Python with PyQt6 and packaged for Windows, macOS, and Linux via PyInstaller — one binary per platform, signed, auto-updating. The web SaaS is a Node and Express service with embeddable timer widgets, shareable URLs, persistent presets, branding controls, and Stripe-billed pro features (large displays, custom themes, scheduled timers, multi-device sync).
The automation angle
The interesting work was in the build and release pipeline. Each platform has different signing, notarisation, and packaging quirks; the CI pipeline handles all three from a single push. The web SaaS deploys behind Nginx with Stripe webhooks for licence activation, so a user buying on the marketing site is upgraded everywhere within seconds.
How it’s used
- Teachers running test timers on a projector.
- Streamers and broadcasters embedding countdowns in OBS scenes.
- Event runners pacing keynotes without an AV crew.
- Fitness coaches running intervals.
What it taught us
Cross-platform desktop is a real product surface in 2026 if you’re willing to do the boring work. The boring work — code signing, notarisation, auto-update, crash reporting — is the moat. Once it’s done, releases cost almost nothing and the surface is yours.