capataina.dev

ON-DEVICE TIME TRACKER FOR MACOS

Vespora

Your day never leaves your Mac. Vespora watches what you work on, writes it down in plain language, and turns observed time into billable hours.

IN DEVELOPMENT · v0.1.0 · not on the App Store

Requires macOS 26 · runs on the Mac's own built-in AI · asks for Screen Recording, nothing else

↓ see how a day gets recorded

01 / THE PIPELINE

It tells you what you did, in sentences.

No timers to start. No projects to remember to switch. You work, and at the end of it there is a written day.

01 CAPTURE

It looks

Vespora takes a periodic snapshot of your main display, reads the text on it, and drops the picture in the same breath. Nothing is saved.

02 EXTRACT

It writes

The Mac's own built-in AI turns what it read into one plain sentence about what you were doing.

2h deep work on Image Browser, cycling between Cursor, Ghostty and the running app.

20 min on Reddit while a build ran.

Vespora's own words, on its own machine

03 COMPILE

It files

The block lands in one of your activities, gets attributed to the project it belongs to, and picks up that project’s rate.

Activities say what kind of time it was: distraction, daily use, work, deep work. Projects say what it was for, and each project carries its own rate.

02 / THE HONEST LEDGER

Time that’s not seen is time that’s not billed.

Most trackers round up. Vespora leaves the holes in. If it did not watch a stretch of your day, that stretch is unclaimable, and it stays that way.

Filled where Vespora was watching. Bare where it was not, and no invoice ever crosses those stretches. The total counts claimable hours only, so it stops while the head crosses a gap and distraction never enters it. This is an example day, not a recording of yours.

Sleep is not special

Awake time with nothing observed is exactly as unclaimable as sleep. There is one rule, and it does not care why the gap is there.

Idle pauses itself

Step away and Vespora stops counting. Choose off, five minutes, fifteen, or an hour. Fifteen is the default.

One invoice per project

Pick a billing period and Vespora writes an A4 PDF for a project, with its hours, any discount, and the milestone rows you add.

03 / PRIVATE BY ARCHITECTURE

There is nothing to breach.

Some people cannot put their screen on someone else's server. Lawyers, clinicians, anyone working under an NDA. Vespora is designed so that question never comes up: there is no server in it.

  • No network code

    There is no networking in the app and no permission for it. Nothing to send, nowhere to send it, no key to leak.

  • Screenshots are never saved

    A capture is read for its text and dropped in the same moment. A release build has no way to write one to disk.

  • One local file

    Your blocks, activities and projects live in a single database inside the app’s own container on your Mac. No screenshots in it, no captured text, no keystrokes.

  • No accessibility access

    Vespora never reads your keyboard or your windows through the Accessibility API. To notice you stepped away it asks one number: how long since any input.

  • No analytics, no accounts

    No sign-up, no telemetry, no crash reporter, no third-party SDKs of any kind.

  • Off until you say so

    Capture is switched off the first time you open it, and a status pill shows whenever it is running.

Six claims, and each one is a property of the build rather than a promise about it.

04 / ARRIVING

The loop works. The rest is still on the bench.

Vespora records a day, narrates it in plain language, buckets it into your projects and writes the invoice. That much runs end to end. What is not built yet is listed here, rather than left for you to find out.

What runs today

Capture, narration, your own activities, projects with rates, and a per-project PDF invoice. The whole loop, on one machine, with the unobserved stretches left unclaimed.

What is not built yet

You cannot delete a recorded block. The only export is the PDF invoice. Both are named in the support notes instead of being left for you to discover.

How you will know

There is no waiting list here and nothing to sign up to. When Vespora runs on other people's Macs, this page will say so and the support notes will change with it.

Read the support notes for what is missing and why, and the privacy policy for where the one local file lives and how to remove it.