Jakob Löhnertz

Senior Software Engineer & Leader

Screenshot of Tea Timer app showing an active brewing session with countdown timer.

Tea Timer

A progressive web app for tracking Gong Fu Cha and Western-style tea brewing sessions.

3 min read

What is it?

Tea Timer is a progressive web app I built for tracking tea brewing sessions with precision. If you’ve read my tea passion page, you know I’m pretty into specialty loose-leaf tea and brewing it the traditional Chinese way (Gong Fu Cha). That means multiple short infusions with the same leaves – sometimes ten or more steeps from a single session.

Most kitchen timers don’t work well with this workflow. You’re managing a sequence of infusions where each one needs a slightly different time. Tea Timer was built to eliminate the mental overhead of tracking all that. This can obviously be done manually, but it’s a lot easier to just use the app.

Live at: https://tea-timer.com/

Why I built it

I’m of the faction that does everything very precisely when it comes to tea brewing. I always have a tiny scale and a thermometer around – not because I stick to strict guidelines, but because if I try something new, I want to know exactly how I arrived at that brew.

I wanted an app that would:

  • Let me set up an infusion timer and run it
  • Track the current infusion number and total session duration
  • Save the current session settings in case I closed the browser tab
  • Give me a warning a few seconds before the timer finishes so I can prepare to strain

After not finding anything that came close, I figured I should just develop my own.

How it works

The app is designed around the concept of sessions – each tea can be steeped multiple times, with time adjustments between infusions to account for the leaves opening up or the brew getting too strong or too weak.

Key features:

  • Tea presets for common varieties (white, green, oolong, black, post-fermented) with recommended infusion times
  • Custom brewing profiles where you set your own initial time and per-infusion increments
  • Countdown timer with visual progress bar and audio alerts
  • “Ready to pour” warning at T-minus 5 seconds so you can prepare your gaiwan
  • Session tracking showing current infusion number and total session duration
  • Persistent state across page reloads

Tech stack

Tea Timer is a single-page PWA built with Vue.js and Vite, styled with Bulma for responsive layouts. It runs entirely in the browser with no backend – all session data is stored in local storage.

  • Vue 3 + TypeScript for reactive state management and type safety
  • PWA capabilities for offline use and home-screen installation
  • Dark mode with automatic detection
  • Keyboard controls (space bar to start/pause, arrow keys for quick adjustments)
  • Screen wake-lock to prevent display timeout during active brewing
  • Audio notifications to not miss an alert

The app is hosted on GitHub Pages with automatic deployments via GitHub Actions.

CA