Ribbon

Your Mac already knows where your day went.

Ribbon writes it down for you, and tells no one. It draws your workday from the apps, pages and meetings you were actually in, suggests a project code for every stretch, and you approve the day in under two minutes.

  1. App and window titleXcode · acme-portal – OnboardingFlow.swift
  2. Calendar meetingDaily stand-up, 6 people. A meeting always asks.
  3. Page, low confidencedeveloper.apple.com/documentation/swiftui
  4. Away 43 mIdle time is never billable on its own.
  5. No suggestionNo Notion page or rule matched Notes.
  6. Live edgeNow · Microsoft Teams · since 16:05
Sample day, Friday 30 October 2026, with made-up clients.

Six blocks are confident. Approve inks them in. The four in orange wait for you. 4 h 31 m approved. 4 to check, still in pencil.

TitleRibbon
DescriptionTime registration that writes itself, for the Mac menu bar.
Drawn byYour Mac
Checked byYou
Kept onThis Mac only
StatusIn testing. Launches for macOS 26 with a 30-day trial.
Join the waitlist Writes a mail to contact@truonglabs.com

A day with Ribbon

Built first for freelancers and small IT consultancies, where a forgotten hour is a lost invoice line.

Morning

You clock in, or your work hours do it for you. A small clock sits in the menu bar and stays out of the way: it never shows a title, a URL or a code.

During the day

You work. Ribbon notes what macOS already knows and starts a new segment whenever it changes or you go idle. Meetings with other people win over whatever was on screen, because you were in the meeting.

Frontmost app
Xcode
Window title
acme-portal – OnboardingFlow.swift
Page, in a browser you allow
developer.apple.com/documentation/swiftui
Calendar
Acme design review · 13:30–14:30 · 4 people
Idle
over 5 minutes ends a segment

That is the whole list. No screenshots, ever. Private windows record the app name only, and apps and sites on your exclusion list are never captured.

End of the day

One notification asks you to look. Click it and the menu bar panel opens on your day, drawn as a track. Confident blocks go in with one click; the rest get a code each, and choosing a different code teaches Ribbon for tomorrow.

Nothing is approved without you. A suggestion only preselects a code.

  1. PencilA suggestion: a dashed outline in the code's colour.
  2. InkApproved time, filled in solid.
  3. OrangeOnly what needs you: low confidence, no suggestion, or a meeting.
  4. Approve 6Takes every confident block at once.
10 to review4 to review Clocked in
  • 08:12Mail19 m Inbox – work@acme.example Internal admin
  • 08:31Xcode59 m acme-portal – OnboardingFlow.swift Client onboarding flow
  • 09:30Daily stand-up 30 m Choose a code… No rule for meetings
  • 10:00Google Chrome52 m github.com/acme/portal/pull/214 Code review
  • 10:52Safari28 m Code review Low confidence
Open Today Export…

Month end

Export… writes the approved time to a CSV file or straight into a Notion database, one row per code per day. It rounds to your company's step only then, so the true durations stay intact.

Friday 30 October 2026, rounded to 15 m
CodeApprovedExported
Internal admin19 m0.25
Client onboarding flow59 m1.00
Code review52 m0.75
Acme portal1 h 39 m1.75
Design retainer42 m0.75

The export window says what goes: dates, codes and rounded durations of approved blocks. No window titles, URLs or meeting titles.

Four reasons time sheets go wrong

ItemThe problemWhat Ribbon does
1Work is fragmentedEvery switch of app, window or page is captured as it happens, and fragments under 3 minutes merge into their closest neighbour.
2You forgetThere is nothing to remember. The day is rebuilt from activity and your calendar, and one nudge at the end of the day asks you to look.
3It takes too longThe day arrives filled in, and every confident block is approved with one click.
4Codes are a choreRibbon learns which signals mean which code, from your Notion pages and from every correction you make.

Privacy is the product

Ribbon works for you, not your boss. You own the data and send only what you choose.

General notes

  1. No screenshots, ever. Only metadata: app, window title, page, calendar.

  2. No cloud AI. Suggestions come from rules and your corrections, on your Mac.

  3. No telemetry. A crash report leaves only when you send it yourself, without titles or URLs.

  4. An exclusion list from day one. Private mail, banking or anything you add is never captured.

  5. Raw activity deletes itself after 7 to 90 days, 30 by default. Only the blocks you approved are kept.

  6. The calendar is read, never stored. Start, end, title, how many people are invited and their email domains, each time the day is drawn.

  7. No backend. There is no Ribbon account and no server holding your day.

Everything that leaves your Mac

  • api.notion.comOnly if you connect Notion, to read your codes and write the exports you start.
  • updates.truonglabs.comOnce a day if you say yes, to ask for a newer version. It sends Ribbon's version and nothing else.
  • api.polar.shFrom launch, about once a week, to check a license: the key and a random id made for your install.

That is the complete list. Any network monitor on your Mac will show you the same.

Where Ribbon is

RevStageWhat it meansState
ADaily use by its makerTwo weeks against manual time logging. It passes when 8 in 10 suggestions are approved unchanged and review takes two minutes.Now
BFive testersFour weeks, across one month-end export, on five other people's Macs.Next
CLaunchRibbon for macOS 26, sold directly, with a 30-day trial that has every feature.Then

Ribbon is the first in a series of privacy-first office tools from Truong Labs.

Hear when your Mac can start writing it down.

One mail when Ribbon is ready to try. Your address is used for nothing else.

Join the waitlist

Writes a mail to contact@truonglabs.com