WorkUpbeat

Personal · 2026 · Consumer apps

Directed with Claude Code and shipped

Upbeat

A Mac app that turns the notch into a quiet control deck, with a teleprompter right under the camera.

Upbeat open in a MacBook's notch, showing what's playing beside the next meeting.
My role
Product Design
Team
Me, directing Claude Code
When
2026
Platforms
macOS, Website

Visit Upbeat’s website, opens in a new tab

shipped October 21, 2026
1.0
one-time Pro upgrade, no subscription
Free + Pro

The 30-second version

Problem
The notch sits right beside the camera and the space around it goes unused. And when you read notes on a video call, your eyes drop away from the camera.
What I did
Directed a Mac app with Claude Code that shows what's next in the notch and hangs a teleprompter just under the camera.
Result
Version 1.0 shipped on October 21, 2026, as a free download from getupbeat.app, with the teleprompter as a paid Pro upgrade.

Context and constraints

Upbeat lives in the notch at the top of a MacBook screen. Closed, it shows one thing at a time: a countdown to your next meeting, a flash when you plug in, or album art while music plays. Hover over it or press ⌃⌥N and it opens to what's playing beside your next meeting, with one click to join the call, or to a shelf where you can park files. The teleprompter hangs from the notch, right under the camera.

My role and the team

Just me, directing Claude Code. It built the Mac app in SwiftUI and AppKit, the website in React, and the license server behind Upbeat Pro on Firebase and Stripe. I set the direction and decided what stayed and what got cut.

The problem

The notch sits at the top of every new MacBook screen, right beside the camera, and the space around it goes unused. The things you glance at all day, like your next meeting or what's playing, live in other windows. And when you read notes on a video call, your eyes drop away from the camera.

Following your voice

With Follow my voice on, the prompter moves as you read aloud. Speech is recognized on the Mac and nothing is recorded. It matches what it hears against the script near your place, so a skipped word or an ad-lib doesn't throw it, and it only jumps ahead after a run of matching words, about three for a skipped sentence. The line you're reading holds still, and the next one glides up as you finish it.

The details

One pass went over every surface for spacing, type and hover. There's one type ramp on macOS's own sizes now, every control is 28pt tall, and every control has a hover state. About half had none before.

Key decisions

01 / 04

One thing at a time

The call
Closed, the notch shows only the most important thing: a meeting countdown first, then charging, then music.
Why
The first build showed the same three tiles every time it opened, whatever was going on.

02 / 04

Use what macOS already has

The call
Sharing goes through the Share menu and previews through Quick Look. Finder's Services menu, Shortcuts, Siri and Spotlight all reach it, and each permission is asked the first time its feature is used.
Why
It works with the rest of the Mac instead of living alone in the notch.

03 / 04

Read right under the camera

The call
The teleprompter hangs from the notch, with the line you're reading about 6pt below the camera.
Why
You can read your notes and still look people in the eye.

04 / 04

No subscription

The call
The app is free, and the teleprompter is a one-time Pro upgrade with a 14-day trial that needs no account.
Why
The work happens on the Mac, so there are no running costs to pass on.

The work

How it scaled

The app talks to a small license server. Stripe payments turn into license keys through Firebase Cloud Functions, and activations come back as signed tokens the app checks on its own, so Pro keeps working offline. The website shares the app's brand tokens, and the notch at the top of every page uses the app's own springs.

Results

Version 1.0 came out on October 21, 2026, as a signed and notarized download from getupbeat.app. Upbeat Pro went on sale the same day.

shipped October 21, 2026
1.0
one-time Pro upgrade, no subscription
Free + Pro

Reflection

There was a DJ character for the music player, a little figure whose head nodded to the beat, and I cut it. In still frames it looked fine. Moving, its head came apart from its neck on every bob, and it couldn't keep time without hearing the real beat. A motion rework and on-device beat detection didn't save it, so it's gone, along with the audio permission it needed. What's left is a small equalizer that pulses on the beat when Music knows the track's tempo.