Stint Guide
Stint records the apps you use and what you did in them, and sorts that time into projects. This guide covers setting it up and getting the most from it.
Installing
Stint needs macOS 14 Sonoma or later. Every version before 1.0 is free.
- Download Stint 0.2.2 and open the zip file.
- Drag Stint into your Applications folder.
- Open it from Applications.
If macOS says it can't check Stint for malicious software: pre-1.0 builds aren't notarized by Apple yet. Click Done, open System Settings → Privacy & Security, scroll to the message about Stint and click Open Anyway. You only need to do this once.
First run
The first time Stint opens, a short walkthrough sets it up. You can leave it and come back with Finish Setup… in the menu bar.
Accessibility
Accessibility access lets Stint read window titles, open files and web addresses. Without it, Stint records only which app is in front. Click Open System Settings and turn Stint on in the list; the walkthrough moves on by itself once it's allowed.
Finder and iTerm
To record which folder is open in Finder, or the working folder in iTerm, macOS asks whether Stint may control that app (Automation). This is optional and only asked for apps you have.
Work hours
Choose to track all the time, on weekdays from 9:00 to 17:00, or every day from 9:00 to 17:00. You can set exact hours later in Settings.
Calendar
Optionally, let Stint read your calendars so events appear next to your activity. Stint only reads events, and they never leave your Mac.
The menu bar
Stint lives in the menu bar. Click its icon to see what's being recorded right now, today's total and your top apps, and your next calendar event.
- Pause Tracking stops recording for 15 minutes, 1 hour, until tomorrow or until you resume.
- Outside your work hours, the panel says when tracking starts again and offers to track for an hour anyway.
- In Settings → General, choose what shows next to the icon: nothing, today's total, or the current project.
The icon changes to show when Stint isn't recording: paused, outside work hours, an ignored app, or idle.
Timeline
Open Stint from the menu bar and choose Timeline. Each block is a stretch of time in one app with one file, page or window, coloured by its project. Use the arrows in the toolbar to move between days.
- Chronological shows the day in one column; By App gives each of your most-used apps its own column.
- Zoom with the slider or by pinching on the trackpad.
- Select a block (or several, with Shift or Command) to see the details in the inspector. From there you can assign it to a project, hand it back with Let Rules Decide, or delete it.
- Hatched areas are gaps: idle time, sleep or a locked screen.
Projects and rules
A project groups your time. Each one has a name, colour and icon, and can contain sub-projects to any depth. Rules decide which activity belongs to which project.
Writing a rule
Open a project and click Add Rule. A rule has one or more conditions, and matches when all of them, or any of them, are true. Any condition can be negated.
| Condition | Checks | Comparisons |
|---|---|---|
| App | The app's bundle ID, such as com.apple.mail | is |
| File or folder | The file or folder path, or the project folder it's in | is inside, is, contains, matches pattern |
| Project folder | The folder Stint found the project in (one with .git, package.json, Package.swift and so on) | is inside, is, contains, matches pattern |
| Website | The web address's domain | is or is under, is, ends with, contains |
| Web address | The full web address | contains, starts with, is, matches pattern |
| Window title | The window's title | contains, is, starts with, ends with, matches pattern |
| Calendar event | The title of the calendar event at that time | contains, is, starts with, ends with, matches pattern |
Paths are written from your home folder, like ~/Code/acme. “Matches pattern” takes a regular expression.
Which rule wins
Rules are checked in order and the first match wins. New rules for a sub-project go before its parent's, so specific rules beat broad ones. Change the order with the rule order button in the Projects toolbar.
Rules apply to the past
When you add or change a rule, Stint re-checks all your existing activity, so a new project fills up with the time you've already spent on it. Activity you assigned by hand keeps its project.
Suggestions
When you keep working in a folder that isn't in any project, Stint suggests making one for it, with a rule already set up.
Today and reports
Today shows the current day. Reports covers a day, week, month or year; pick one in the toolbar and step back with the arrows.
| Figure | Meaning |
|---|---|
| Tracked | All recorded time, compared with your usual for that day, week or month |
| In Projects | The share of tracked time that belongs to a project |
| Focus | The share of time spent in one app for 25 minutes or more without switching |
| Switches | Changes from one app to another without a break in between |
| Active | When the day's first and last activity happened |
| Busiest Hour | The hour of the day with the most tracked time |
| Longest Streak | The most days in a row with tracked time |
Every chart has a Show as Table link with the same figures.
Apps and search
Apps lists every app you used in the period with its share of your time. Select one to see what was done in it: files grouped by project folder, pages grouped by website. Right-click an app to assign all its activity in the period to a project, or to delete it.
Search (⌘F) finds files, pages, window titles and apps across all your history, grouped by day. Click a result to open that day on the timeline.
Work hours
In Settings → Work Hours, turn on Only track during work hours and set the hours for each day. A day can have several ranges, and a range that ends before it starts runs past midnight. Outside these hours Stint records nothing.
Ignoring things
In Settings → Ignore, add apps, websites or folders that Stint should never record: no time and no titles. An ignored app is skipped before Stint reads anything from it. Common password managers are ignored from the start.
To ignore something only at certain times, such as Slack in the evening, make a schedule with New Schedule… and choose it for that rule.
Calendar
With calendar access, your events appear in their own lane on the timeline and the next one shows in the menu bar. In Settings → Calendar, choose which calendars to show. Turn on Count meetings toward projects to add meetings that match a project's Calendar event rule to that project's totals, even when you weren't at the keyboard. Activity during a meeting is then counted once, as part of the meeting. It's off by default, so time isn't counted twice.
What's recorded
Every couple of seconds, and whenever you switch apps, Stint notes the app in front and, where it can, what's open in it:
| Apps | What Stint records |
|---|---|
| Safari, Chrome, Brave, Edge, Arc, Vivaldi and other Chromium browsers | The web address and page title |
| Firefox, Zen and other Firefox-based browsers | The page title |
| VS Code, Xcode, TextEdit, Nova, BBEdit, Sublime Text and most document apps | The open file and its project folder |
| JetBrains IDEs and Android Studio | The open file and project |
| Terminal, iTerm2, Warp, Ghostty and other terminals | The working folder, where the terminal shares it |
| Finder | The open folder |
| Everything else | The window title |
Stint never records keystrokes, screenshots or page content. Private and incognito windows are recorded only as “Private Browsing”. When you've been away from the keyboard for 5 minutes (you can change this in Settings → General), the current stretch ends; sleep and locking the screen end it straight away.
Your data
Everything Stint records stays on your Mac, in ~/Library/Application Support/Stint/stint.sqlite. Settings → Privacy & Data shows it in Finder. Stint has no account and sends nothing anywhere.
- Remove query strings from web addresses is on by default. Everything after the “?” or “#”, which often holds tokens and search terms, is dropped before saving.
- Keep detailed activity for 90 days, 1 year, 2 years or forever. Older activity is removed each day; daily totals are kept, so reports for longer periods still work.
- Delete a Date Range… and Delete All Activity… erase recorded activity. Projects and rules are kept. Deleted data is overwritten on disk.
- Export (⇧⌘E) saves the current period, all time or a custom range as CSV or JSON, either every segment or daily totals.
Updates
Choose Check for Updates… in the menu bar to look for a new version. To have Stint check once a day, turn on Check for updates automatically in Settings → General; it's off until you do. Checking sends nothing about you or your activity.
Updates are signed, so macOS keeps Stint's permissions when it updates.
Questions
Is Stint really free?
Yes. Every version before 1.0 is free to download and use.
Why do I only see app names, not files or pages?
Stint needs Accessibility access for those. Check Settings → Privacy & Data; if it isn't allowed, click Allow… and turn Stint on in System Settings.
Finder folders show only a name, not the full path.
Allow Automation for Finder in Settings → Privacy & Data. Without it, Stint falls back to the window title.
Some time isn't in any project.
It shows as Unassigned. Select it on the timeline and assign it, or open Projects and add a rule that matches it; existing activity is sorted again straight away.
Does Stint sync between Macs?
Not yet. Stint is designed so that a later version can sync through a server you host yourself, if you choose to. It will never depend on one.
How do I uninstall Stint?
Quit it from the menu bar and move it to the Trash. To remove your history too, delete the ~/Library/Application Support/Stint folder.