Skip to content
Product Desktop App Time Tracking

Miru Desktop: Local-first macOS Timer

Miru Time Tracking is available as a local-first desktop timer with menu bar controls, idle recovery, time entries, and Miru web sync.

Vipul A M Vipul A M · · 2 min read
Launch
Miru Time Tracking desktop app with a running timer, local summaries, and project details
This article is currently written in English. Navigation, dates, and calls to action follow your selected language.

Capture first. No browser tab. Web is for review and billing; desktop is for reliable capture.

Desktop covers capture. Web handles approvals, invoices, expenses, payments, reports, and team workflows.

A timer shouldn’t need tab archaeology.

Miru Time Tracking desktop app with a running timer, daily summary, project selector, task selector, notes, and saved entries

Why desktop

Time tracking fails quietly.

Missed starts and forgotten lunches break invoices. Desktop fixes the capture problem.

The desktop app is built for that boring reality.

What ships

Miru Time Tracking ships as a desktop app, with macOS as the first-class target.

Ship checklist:

  • menu bar timer: start, pause, reset, resume, stop-and-save
  • local persistence across restarts
  • entries: create, edit, delete, resume
  • idle recovery: trim and continue, trim and start new, or keep
  • workspace, account, and sync status in the app menu
  • sync bridge to Miru web

The goal is not to recreate the full web app in a desktop shell. That is just a worse browser.

Make capture trivial. Send everything to the web for billing.

Local-first, then sync

Desktop timers need to survive normal work.

Sleep the laptop. Relaunch the app. Lose the network. Switch back from a meeting.

The app keeps timer state locally and continues to track. When Miru web is reachable, it can pull or push the current timer through the API.

Right split:

  • desktop for capture
  • web for review and billing
  • CLI for terminal workflows
  • API and MCP for automation

Same product. Better surfaces.

Built in public

Repo: saeloun/miru-time-desktop.

Stack: Electron Forge for the macOS app and menu bar, Vite + React + TypeScript for fast builds and shared UI with Miru web. No native-only UI stack unless we need one.

Tests: Vitest unit tests plus Electron Playwright integration specs for timer sync, local entries, resume, idle recovery, and persistence.

Release checklist: run tests, build the desktop artifacts, smoke open the packaged app, verify the Miru icon and menu bar timer, then publish.

No runtime surprises. No extra native UI stack. Strict verification before publish.

Download

What to try next

Use Miru on the web today. Install the desktop app when you want the timer to stay close.

PRs welcome.

Share:
Vipul A M

Vipul A M

Co-founder at Saeloun. Building Miru. Rails contributor. Shipping from Pune, India.

Put it to work

Run one cleaner billing cycle in Miru.

If this article is about tracking time, billing clients, comparing tools, or automating work, Miru is the product version of that idea. Start free, invite the team, and send the next invoice from tracked work.

What you get

  • Time tracking, invoices, expenses, and payments in one place.
  • Free for up to 5 users. Pro is $1/member/month.
  • Open source, with CLI, API, MCP, and self-hosting paths.
See Miru

The article is the argument. Miru is the workflow.

Track the work, approve the hours, send the invoice, and get paid without bolting together three separate tools.

Launch
Miru Time Tracking desktop app with a running timer, local summaries, and project details
Desktop App Miru