Home / Projects / TimerForge

TimerForge

A countdown timer that takes itself seriously. Native desktop apps for Windows, Mac, and Linux. A web SaaS for embedding and sharing. Stripe-billed pro features. The kind of small product that quietly compounds.

Category  SaaS · Cross-platform Stack  PyQt6 · Node · Express · Nginx Billing  Stripe Status  Live

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.