I’ve written before about how I’ve been enjoying playing with AI.
When I first started practicing, over a decade ago, I worried a bit about time-keeping. I didn’t love the idea of watching a clock (in my early sessions, in an office with a digital clock, I was painfully aware that there was literally not a minute in most sessions that I didn’t clock the clock, take in the time…).
I fantasized about ways I might unobtrusively track the time during my sessions. A painting, perhaps, that featured a traffic signal that subtly changed from green to orange to red, as the session progressed.
Time passed. I placed clocks around my office. In my view. In my patients’ view.
My thinking about all this evolved over the years. I didn’t love giving my patients easy access to the time. I pay close attention to my patients’ relationship to the frame. Lots has been written about this. Suffice it to say, I find my patients’ relationship to the frame a rich zone for my – and their – attention.
When ChatGPT was released, one of the very first uses to which I put it was developing a timer that I could place on my desktop screen – visible to me, but not to my patients – that would provide an easy, unobtrusive visual cue to the progress of a session. I don’t know how to code. At. All. But. I found that, with some work, I could create a clock that would show the time, while changing the color of the background gradually from black to white as a session progressed. At the end of the session, the screen would briefly go all white, and then, return to the black screen with white time that my patient might have seen as they entered my office. This change – the screen going first all white, and then, all black, was hard for me to miss at the end of a scheduled session. I didn’t have to watch for it. The change itself would catch my attention, almost inevitably, regardless of where my eyes might be at that particular moment.
This was great. I ran that timer until yesterday. I would set start times, and durations – 8:20, 9:10, 10 am, and 45 minutes – and all was good.
I craved more functionality, though. I craved pre-set schedules. Default start times. A little more ability to customize the operation of the timer. But try though I might – and I never tried for more than five or ten minutes at a time – I couldn’t massage ChatGPT or Claude to get them to give me something that worked better.
Until this morning.
This morning, I woke up a bit early, after a particularly rich night of dreams. I sat at my kitchen table, and gave Claude another chance.
I started from scratch. I typed into Claude the following:
I want to build a simple timer that can run in my browser in a single html file. The characteristics of the timer are: 1) It should allow me to enter up to four non-overlapping timers of any duration, measured in minutes 2) When a timer is running, the screen should display the time in h:mm form in the center of the screen, in large type. 3) At the start of each timer, the background should be black and the text of the clock should be white. As the timer runs, the background should gradually shift from black to white, and the text should gradually shift from white to black, so that, in the last minute, the background is pure white and the text is pure black. 4) When the timer is complete, the screen should go blank (all white) for 3 seconds, and then, should return to a black background with the time shown in white. 5) The controls for the timer should disappear from the screen after five seconds of no cursor or mouse movement, and should reappear if the cursor/mouse moves. 6) The controls should permit the user either a) to enter one of up to ten pre-set timers, b) to enter a custom timer, or c) to modify the pre-set timers.
Let’s think about how to approach this, and please ask me any clarifying questions before you start coding.
I won’t walk you through my dialogue with Claude, but it was straightforward, in plain English, and ended up producing something much better.
Because I like you, here’s what it came up with. Feel free to use it, to modify it, as you wish. No credit required.

And, just for fun, a little more AI-generated brilliance. I opened a new chat, uploaded the code, and wrote, “Please take a look at this code, and describe for me what it does, in the form of a blog post, addressed to therapists, explaining its utility in session.” [At this point, I switched to ChatGPT, because I had exhausted my Claude usage allowance. In general, while I prefer ChatGPT overall, Claude is better at many things, including stuff like this.]
Here’s what ChatGPT wrote. I don’t love it, but it’s not half-bad:
A Therapist’s Best Friend: Using a Custom Timer App for Managing Session Flow
Therapists often struggle with keeping sessions within their scheduled time while maintaining a fluid, uninterrupted therapeutic process. The challenge is balancing attentiveness to a patient’s experience with the necessity of time constraints. This customizable session timer, a simple yet powerful HTML/JavaScript app, provides a seamless solution.
How This Timer App Works
This web-based timer application is designed for easy time management, particularly for structured sessions like psychotherapy, coaching, or any appointment-driven practice. Here’s how it functions:
- Displays a Large, Minimalist Timer
- The app features a bold, full-screen digital clock, ensuring visibility without distractions.
- Its background subtly shifts color as the session progresses, providing an intuitive visual cue without an intrusive alert.
- Preset and Customizable Timers
- It includes preset session timers (e.g., standard 45-minute or 50-minute sessions).
- You can create custom session lengths, allowing flexibility for longer or shorter appointments.
- Session Queueing for a Full Day
- Set up a full day’s schedule in advance with multiple queued timers.
- Automatically progresses through sessions, ensuring smooth transitions.
- Non-Intrusive Notifications
- When a session ends, the screen briefly turns white for three seconds, a subtle indication to wrap up.
- No beeping, no intrusive alarms—just a quiet visual cue.
- Easy Adjustments on the Fly
- Quickly edit preset session lengths.
- Cancel or modify queued sessions effortlessly.
- Customizable Themes & Fonts
- Select from preset color themes or use a custom color picker to match your workspace ambiance.
- Choose from multiple font styles and a wide font-size range (50px – 200px) to ensure readability from across the room.
- All settings are saved automatically using localStorage, so they persist between sessions.
Why This Matters in a Therapy Setting
- Enhances the Therapeutic Frame: The gradual shift in background color mirrors the passing of time, subtly anchoring both therapist and patient in the session’s temporal structure.
- Prevents Time Overruns: Reduces the stress of watching the clock while maintaining presence with the patient.
- Supports Back-to-Back Scheduling: The queue system helps manage consecutive sessions without needing manual resets.
- Improves Visibility & Customization: Ensures readability for both therapist and patient, making it easy to glance at the timer from anywhere in the room.
How to Use It in Practice
- Open the timer in a browser on any device.
- Select a preset (e.g., 45-minute session) or set a custom timer.
- Customize the theme & font size for optimal readability.
- Let the background color shift serve as a silent session marker.
- When the session ends, reset or let the next queued session begin.
For therapists seeking a non-disruptive yet effective way to keep time, this timer app offers an elegant, minimalist solution.