Back to projects

Product In progress 2026

Untimer

Untimer is a focus timer for people who do not have an internal one. You press and hold the glass, let go, and the session begins. When it ends you get an honest account of what happened rather than a score.

The Untimer landing page in a browser window beside a phone, showing the hourglass and a twenty five minute readout.
Role
Product, design, and build
Built with
Astro, React, Supabase, Postgres, Cloudflare Pages, Android
Live
untimer.com

Most focus timers are a countdown with a start button. Untimer asks for a small deliberate act first: press and hold for two and a half seconds, let go, and twenty five minutes begin. That gesture is deliberate. Starting a session feels like a decision rather than a click made while thinking about something else.

The timer lives on the server

The hard part of a timer on the web is that browsers are unreliable places to keep time. Tabs sleep, phones lock, people refresh, and a second device shows a different number.

Untimer stores each session as one absolute moment in Postgres. Every client asks the same question and gets the same answer, so a closed tab, a reload, or a switch from laptop to phone changes nothing about the session that is running. The clients render state, they never own it.

An account rather than a score

When a session ends you get an account of what happened: how long you ran, what you marked, where you stopped. There is no grade, no streak to break, and no chart implying you should have done better. Scoring turns attention into a performance metric, and the people who most need a timer are the ones least helped by being ranked.

What it runs on

Four parts, each with a single job.

  • A static React application on Cloudflare Pages, built with Vite, for the app itself.
  • Postgres on Supabase holding the schema, the migrations, the stored procedures, and the tests. This is the contract every client codes against.
  • An Astro site for the marketing pages, served as static files.
  • An Android application, built and running, not yet released.

The backend is the authority. A new client implements the same contract rather than inventing its own rules.

What is finished and what is not

The web application and the backend are working, and the Android build runs on a device. Untimer Plus is the paid tier, covering the deeper insights and the full ladder of marks. The Android release has not shipped.

Want something like this?

Tell us what the finished thing should do and roughly when you need it. You get a straight answer about scope and price.