Turn your browsing and app activity into readable daily, weekly, and monthly reports without sending your history to a cloud service.
OrbitLog watches your active browser tab or frontmost app, turns it into daily / weekly / monthly summaries, and keeps everything on your own machine. It is built for people who want a readable record of where their time went without handing browsing data to a third-party service.
OrbitLog is beta software. It works well for technical macOS users, while packaging, permission guidance, and browser coverage are still being polished.
| Website and category charts | Website and page summaries |
|---|---|
![]() |
![]() |
A short demo GIF is planned. See Screenshot Checklist for the recording plan.
- Local-first by default: activity is stored in a local SQLite database under
data/activity.sqlite. - Website and app tracking: supported browsers include Safari, Chrome, Edge, Brave, Arc, and Chromium.
- Readable reports: export Markdown reports with daily, weekly, and monthly summaries.
- Manual category rules: classify unknown websites or apps into learning, entertainment, social, or other.
- Desktop companion prompt: a lightweight always-on-top classification window works outside the dashboard.
- Warm dashboard UI: browse time by day, week, month, website, page, and category.
Most time trackers are either too broad, too opaque, or too cloud-dependent. OrbitLog is intentionally small:
- It focuses on the websites, pages, and apps you actually touch.
- It keeps the raw data on your machine.
- It exports human-readable Markdown instead of locking reports inside an app.
- It lets you classify activity manually instead of guessing with AI.
- It works as a local dashboard, with a tiny desktop companion only when needed.
OrbitLog is useful if you:
- want a local record of study, work, social, and entertainment time
- write daily or weekly reviews and want Markdown-friendly summaries
- prefer local-first tools over hosted productivity dashboards
- want more detail than Screen Time without sending browsing history to a third party
- enjoy small, hackable desktop tools
OrbitLog runs a small local Node.js service. On macOS, it uses AppleScript to read the frontmost app and, for supported browsers, the current tab URL and title. The dashboard remains a normal local webpage at localhost, while the optional Tauri companion handles desktop-level prompts.
macOS active app / browser tab
↓
Node.js local service
↓
SQLite activity store
↓
Web dashboard + Markdown export
Requirements:
- macOS
- Node.js
- Rust toolchain, only needed for the Tauri companion or desktop build
The macOS beta build is published from GitHub Releases:
The app is not signed yet, so macOS may show an additional security prompt. For the smoothest experience today, technical users can still run OrbitLog from source.
Install dependencies:
npm installStart the local dashboard:
npm startOpen the printed local URL, usually:
http://localhost:4174
Start the desktop classification companion:
npm run companionFor more details, see the Setup Guide.
Development mode:
npm run desktopProduction build:
npm run desktop:buildTypical macOS outputs:
src-tauri/target/release/bundle/macos/OrbitLog.app
src-tauri/target/release/bundle/dmg/OrbitLog_0.1.0_aarch64.dmg
OrbitLog needs macOS permission to inspect the current foreground app and browser tab.
If the dashboard shows a read error, open:
System Settings > Privacy & Security
Then grant the terminal or app you use to run OrbitLog:
- Accessibility
- Automation
Current URL detection works for:
- Safari
- Google Chrome
- Microsoft Edge
- Brave Browser
- Arc
- Chromium
Firefox needs an extension or another integration path and is not supported yet for precise URL detection.
OrbitLog is designed as a local-first tool:
- No account is required.
- No cloud service is used.
- No browsing data is uploaded by the app.
- Activity data is stored locally in SQLite.
- Ignore rules can skip sensitive domains such as banking, email, and password-related sites.
See Privacy for more detail.
- macOS only for now.
- Browser URL reading depends on macOS Automation permission.
- Some full-screen apps or multi-monitor setups may affect where the companion prompt appears.
- Sleep, wake, and idle detection are handled defensively, but edge cases may still create small timing errors.
- Windows support would require a separate active-window and browser URL implementation.
- Local dashboard
- SQLite storage
- Daily / weekly / monthly views
- Markdown export
- Manual category rules
- Desktop companion prompt
- Public README screenshots
- Short demo GIF
- Signed macOS beta release
- Better first-run permission guidance
- Safer backup / reset tools for local data
- Optional browser extension support for Firefox
- Windows support through native foreground-window tracking
No. OrbitLog stores activity locally in SQLite and does not include a hosted sync or analytics service.
OrbitLog needs Accessibility and Automation permissions to read the frontmost app and supported browser tab metadata. Without those permissions, it cannot reliably detect the current website.
Not yet. The current tracker uses macOS AppleScript. Windows support would need a separate native foreground-window and browser integration.
Not yet. Firefox usually needs a browser extension or another integration path for reliable URL detection.
Activity data is stored in data/activity.sqlite. Local settings are stored in data/settings.json.
Useful commands:
npm start
npm run companion
npm run desktop
npm run desktop:buildThe main files are:
server.js: local tracker service, SQLite storage, summaries, Markdown export.public/: web dashboard and companion prompt UI.src-tauri/: Tauri companion and desktop wrapper.
MIT


