Set Up Project Tagging That Runs Itself

How to configure durable, self-maintaining project tagging rules based on application names, website domains, and window titles in Threshyr.

Affan Bajwa

Affan Bajwa

Founder & Lead Developer

Jul 27, 20264 min read
Set Up Project Tagging That Runs Itself

Most automated time tracking setups fail in one of two predictable ways. Either the user writes rules so hyper-specific that the slightest change in file naming causes half the week's work to land in an unassigned bucket, or they write rules so broad that five completely unrelated client accounts get dumped into a single generic project.

A well-designed tagging setup is worth thirty minutes of focused attention once. After that initial setup, it should either run silently in the background without daily intervention, or it was configured incorrectly from the start.

Start from the Client, Not the App

The most common mistake when setting up tagging rules is organizing by software application.

Creating a rule that maps your code editor to "Development" and your browser to "Research" provides virtually no value when invoicing clients. At the end of the month, your clients do not care how many hours you spent inside a text editor; they care how many hours were dedicated specifically to their deliverables.

Begin by setting up a dedicated profile for each client or major internal initiative. Under each client, define specific projects corresponding to distinct contract deliverables or billing rates. Your tagging rules should map directly to these project boundaries rather than generic application categories.

The Three Signals Worth Tagging On

A durable tagging configuration relies on three distinct desktop signals:

1. Distinctive Window Title Keywords

Every desktop window title contains descriptive text about the active document, task, or file. Add keywords that are uniquely tied to a specific client engagement:

  • Project code names (e.g., Apollo, Starlight)
  • Repository directory names (e.g., client-frontend, billing-service)
  • Client document prefixes (e.g., Acme_Contract, Acme_Design_Spec)

Whenever an editor, terminal, or PDF reader displays that keyword in its title bar, the session is attributed directly to that client project.

2. Website Domains and Subdomains

Web browsers host work for multiple clients concurrently. Rather than matching on the browser itself, match on the specific web domains associated with each account:

  • Client staging environments (e.g., staging.acme.com, dev-portal.acme.internal)
  • Project management boards (e.g., linear.app/acme, trello.com/b/AcmeBoard)
  • Dedicated production dashboards or client portals

3. Dedicated Applications

If a client requires you to communicate through a dedicated communication channel or use a proprietary software tool that is not shared with other accounts, map that specific application directly to the project.

Rules That Age Badly

To keep your rules working smoothly over months, avoid common anti-patterns:

  • Matching on overly generic words: Adding single words like test, app, design, or api will cause unrelated tasks across all your clients to trigger false matches. Keep keywords specific to the client's distinct identity.
  • Matching on fragile folder paths: If you match against a full directory path like /Users/name/Projects/2026/Q1/Acme/src, any future file reorganization breaks the rule immediately. Match on the stable repository or project folder name instead.
  • Creating one rule per individual task: Do not create rules for specific bug tickets or minor sub-tasks. Tagging rules should operate at the project level, leaving granular activity details to your timestamped session logs.

Let Corrections Do the Rest

You do not need to anticipate every possible document title or staging subdomain on day one.

When an activity contains ambiguous context that does not match an existing rule, Threshyr holds that time back as unassigned rather than guessing. When you open the day view and assign that block to its appropriate project, Threshyr saves that correction as a permanent rule.

The system learns the new pattern automatically. Over time, your tagging system becomes more complete with almost zero proactive configuration.

For the billing workflow this feeds into, see how to track billable hours across multiple clients.

Check It After a Week

After running Threshyr for one full work week, perform a five-minute health check on your setup:

Open the activity timeline and look at the ratio of assigned project time versus unassigned time. In a well-calibrated setup, seventy to eighty percent of your billable workday will be assigned automatically without manual intervention.

If you find that most of your time remains unassigned, your keyword rules are likely too narrow. Add one or two broader repository or domain terms. If you find time attributed to the wrong client, check for overly generic keywords and tighten the matching phrases.

Once calibrated, your tagging rules run silently in the background, keeping your client billing balances accurate without demanding your ongoing attention.

Download Threshyr for Windows and macOS at /download to set up automatic project tracking with complete local privacy for $29 per year during pre-release.

Tags:#Guides#Automation#Projects#Tagging Rules
Affan Bajwa

Written by Affan Bajwa

Founder of Threshyr. Passionate about local-first software architecture, developer productivity, and building privacy-first tools for knowledge workers.

Threshyr v1.1.9Local-First & AI-Powered

Track your time automatically. Without the cloud.

No timers to click. No cloud tracking. Your private window titles and project logs stay on your machine forever.

Download for Windows

Available for Windows & macOS • Pre-release at $29/yr

Related Articles