Boom Media
Boom Labs · Product Builds

Time tracking & employee app monitoring in Dashee

Two different products get called “time tracking”, and only one of them can live inside a web app. This separates them, says which Dashee should build, and gives an honest recommendation for monitoring new hires — including where buying beats building.

29 July 2026 · reference: rize.io · boundary ruling of 9 July 2026 assigns customer-facing time tracking to Dashee

The constraint everything else follows from

Non-negotiable

Seeing which apps someone uses requires software on their computer

Dashee is a web app. A browser tab cannot see what other applications are open, what window has focus, or what URL another program is showing. No amount of building changes that — it is an operating-system boundary, not a missing feature.

Rize is not exempt from this either. What Rize sells as “automatic time tracking” is a native desktop application reading window metadata continuously in the background. That agent is the product; the web dashboard is the reporting layer on top of it.

So the question is never “can Dashee track apps?” It is “what runs on the employee’s machine, and does Dashee or somebody else supply it?” Dashee’s role in every option below is the manager dashboard, never the capture.

🔍 What Rize actually does

Rize featureHow it worksPossible in a web app?
Automatic time trackingDesktop agent reads app name, window title, URL. No screenshots, no keylogging.No — needs an agent
Smart client/project categorisationML groups captured activity by client and projectNo — needs the capture first
Focus detection & distraction blockingAgent detects deep work, blocks distracting apps at OS levelNo — needs OS access
Smart break remindersDesktop notifications based on tracked activityWeak in-browser only
AI productivity coachSummarises hours and focus metrics per personYes — reporting layer
Profitability dashboardMargin by client, project, team memberYes — and Dashee does it better
Automatic client reportsRecurring billable-hours reportsYes — and Dashee does it better
Utilisation & workloadTeam capacity at a glanceYes — reporting layer
IntegrationsClickUp, Jira, QuickBooks, Slack, Google Calendar…Yes

The pattern: everything that needs the machine is off the table; everything that reads a database is on it.

🎯 Your actual goal: monitoring new hires

Recommendation

For oversight of new employees specifically — buy it, don’t build it

A homegrown agent can be quit from the system tray and its sync script disabled. For genuine oversight during a probation period, that undermines the entire purpose.

Commercial monitoring tools exist because the hard parts are the unglamorous ones:

Rebuilding those is a real product, not a weekend. Candidates worth pricing: Hubstaff, Time Doctor, ActivTrak, Insightful. All sell per-seat monthly. Verify current pricing directly — vendor pricing pages change and none of the figures should be taken from this document.

Alternative

For aggregate visibility on a team you already trust — build on ActivityWatch

Free, open source, cross-platform, and already in your stack for your own build hours. If the goal is “where is time going” and “is anyone drowning” rather than enforcement, this is a good fit and the data stays entirely yours at no per-seat cost.

Verified limitation: ActivityWatch is local-first and single-user. Its own docs state “our current security consists only of not allowing non-localhost connections.” There is no team sync. It does expose a REST API on localhost:5600, which is the hook a sync agent uses.

🔌 The best answer: buy the agent, pull the data via API

Recommended

Commercial agent for capture + their API into Dashee for the dashboard

This removes the trade-off entirely. You get agents that are tamper-resistant, auto-starting and maintained by someone else — and the data still lands in Dashee next to jobs, clients and invoices, under your own reporting. You never write or maintain a desktop agent.

ServicePublic API?What you can pullVerdict
Hubstaff Yes — REST Time entries, activity levels, app and URL usage, screenshots. Plus webhooks, pagination and documented rate limits. Best fit
Rize No public API Ships an MCP server for querying your data from Claude or ChatGPT — useful for ad-hoc questions, but not something a product dashboard can be built on. Rules it out
Time Doctor · ActivTrak · Insightful Documented APIs — verify scope All publish developer docs; confirm that per-user application usage is exposed, not just total hours. Worth pricing

Checked 29 July 2026. Hubstaff API base: https://api.hubstaff.com — JSON request and response bodies, standard HTTP verbs and status codes, webhooks available.

Employee machine Your infrastructure ───────────────── ─────────────────── Hubstaff agent Hubstaff cloud (tamper-resistant, │ auto-start, maintained │ REST API + webhooks by the vendor) ──────────────────────────▶ │ ▼ Dashee ├─ scheduled pull or webhook ├─ dashee_app_usage └─ Manager dashboard, beside jobs · clients · invoices
Why this beats both earlier options. Building the agent yourself means owning tamper resistance, fleet install and idle detection forever. Living inside the vendor’s dashboard means employee activity sits in a separate tool from the jobs and invoices it relates to. Pulling their data into Dashee costs one scheduled job and one table, and you keep the unified view.
Before committing, confirm two things with the vendor: that per-user application-level usage is exposed through the API and not only aggregate hours, and which plan tier includes API access — several tools gate the API behind a higher tier, which changes the real per-seat cost.

🏗️ If you build the agent yourself instead: the architecture

Employee machine Your infrastructure ───────────────── ─────────────────── ActivityWatch (captures locally) │ │ GET localhost:5600/api/0/buckets/ ▼ Sync agent (~100 lines, scheduled) │ │ POST /api/ingest/app-usage (per-employee key) ▼ Dashee ├─ dashee_app_usage └─ Manager dashboard by person · app · day

Build order matters — it lets you test on one machine before touching any staff computer:

  1. Table + ingest endpoint. dashee_app_usage keyed to business and user, with a per-employee ingest key. RLS from the start.
  2. Manager dashboard. Hours by person, by app, by day; top applications; active vs idle split.
  3. Sync agent last. Point it at your own machine first and confirm the numbers look like your actual day before rolling it anywhere.
Do the Dashee database status check first. Dashee has 17 tables and it is not established which migrations have actually run. That exact trap cost four debugging detours in Rankee in a single session — a deployed feature writing to a table nobody created. The status panel built for Rankee ports to Dashee in about twenty minutes and should come before any new feature work.

⚖️ Tell the employees, in writing

Practical, not legal advice

Several states require notice for workplace monitoring, and disclosure is standard practice in every commercial tool in this category — Rize explicitly markets “without intrusive monitoring,” no screenshots and no keylogging, because that framing is what makes it acceptable to staff. A paragraph in the onboarding pack covers the obligation. It also simply works better: covert monitoring that gets discovered costs more in trust than the data was ever worth. Confirm the specifics for Florida with your attorney before rollout.

💰 The other half — the one that makes money

Build in Dashee

Billable time → invoice, a loop Rize structurally cannot close

Rize’s revenue features answer “which clients are profitable and what do I invoice.” Dashee is better positioned for those than Rize is, for one structural reason: Dashee owns the invoice. Rize has to integrate with QuickBooks and hand off. Dashee already has dashee_jobs, dashee_clients, dashee_invoices and dashee_payments in the same database.

timer on a job → billable hours at the client rate → invoice line → payment all inside one app, no export, no integration, no reconciliation

One new table, dashee_time_entries (business, client, job/task, user, start/stop, duration, billable, rate), plus:

Roughly 900–1,200 lines: one migration, timer UI, two report pages, invoice generation, portal view.

Resolves an open question

Team-clock vs client-billable was a false choice

The 9 July note left this undecided. It resolves itself: build client-billable, and team-clock falls out as an aggregate. A time entry already carries a user, so utilisation is the same entries grouped by person instead of by client. Building the clock first produces timesheets nobody invoices from; building billable first produces both.

💵 What it costs to run

Verified 29 Jul 2026

The billing detail that changes the maths

Hubstaff charges per seat for every team member — whether or not they actively track time. So “we only monitor two new hires” does not mean two seats. Price the whole team, or confirm with sales that inactive members can be excluded. There is a 14-day free trial with no credit card and a 30-day money-back guarantee, so the real number is verifiable before you commit a cent.

Verified vendor pricing

Vendor / tier Price Users App & website tracking API
TimeCamp — Free $0 Unlimited No Yes — on the free plan
TimeCamp — Premium $6.99/user/mo annual
$9.99 month-to-month
Per user Yes Yes
Clockify — Free $0 Up to 5 Auto tracker, but… 30 requests/hour
Clockify — PRO $7.99/seat/mo annual
$9.99 monthly
Per seat Yes + screenshots 50 requests/sec
Hubstaff Not readable — JS-rendered
14-day trial, no card
Bills every team member, tracked or not Yes + screenshots Yes — best documented

Read from each vendor’s own pricing page, 29 July 2026. Hubstaff’s table is JavaScript-rendered and could not be read reliably, so no figure is invented for it. Verify all of these before committing — SaaS pricing moves.

Trap

Clockify’s free auto-tracker cannot monitor anyone

It tracks apps and websites, but Clockify’s own wording is that this is “visible only to you” — to the person being tracked, not to a manager. For the stated goal of overseeing new hires it is useless, however good it looks in a feature list. Screenshots and manager visibility begin at PRO. This is the kind of detail that only shows up after you have rolled something out to staff.

Cheapest viable path

Two products, and one of them is free forever

The two halves have different price floors, so buy them separately rather than looking for one tool that does both.

Staying inside one vendor also means one API, one integration and one ingest job in Dashee rather than two.

Confirm one thing before buying: whether TimeCamp lets you put only some users on Premium while the rest stay Free. That single answer is the difference between roughly $168/year and paying Premium for everyone. Hubstaff explicitly bills every team member regardless — assume nothing and ask.

Cost & payback calculator

Licence cost
Value of recovered time
Extra billable revenue
Net per year
Break-even

Defaults are illustrative placeholders, not claims. 3% recovered is a deliberately conservative figure — roughly seventy minutes a week per person. Vendors in this category advertise far higher; treat those as marketing until you measure your own.

Buy vs build, in money

OptionYear-one costOngoingWhat you are really paying for
Hubstaff + API → Dashee Licence (per seat, whole team) + ~1 day to build the ingest Licence only Someone else maintains tamper resistance, fleet install, OS updates and idle detection — forever.
ActivityWatch + Dashee $0 licence + ~3–5 days build Your maintenance, indefinitely Free until an OS update breaks the agent on six machines and it is your Saturday.
Do nothing $0 Unmeasured The real cost is invisible, which is exactly why it persists.
Where the return actually is

Be honest about which half pays

Monitoring new hires has genuine but soft ROI. Its value is deciding in week two rather than month three. Catch one bad hire six weeks earlier and, at the default wage above, that alone is roughly six thousand dollars — more than the licence for a year. But it is a probabilistic saving on an event you hope does not happen, and it cannot be forecast honestly.

Billable-hours tracking has hard, countable ROI. Unbilled work is measurable the day you start recording it, and every recovered hour bills at your rate rather than saving you a wage. Put your billable rate into the calculator and watch which line moves. That is the stronger argument for building the timer half in Dashee — and it does not depend on monitoring anyone.

🧭 Decision summary

GoalDo thisWhy
Oversight of new hires TimeCamp Premium — $6.99/user/mo, only the people you monitor Cheapest verified option with real app tracking + API. ~$168/yr for two hires. Rize is out — no public API.
Billable hours for the whole team TimeCamp Free — $0 Unlimited users and API access on the free plan. Same vendor, so one integration.
Aggregate visibility, zero budget, trusted team Build — ActivityWatch + Dashee ingest Free and self-hosted, but the agent can be quit — fine for insight, not for enforcement.
Your own build hours Already solved — Wakapi + ActivityWatch Decided 9 July; no further work needed.
Billable hours & profitability Build in Dashee — highest value of everything here Closes timer → invoice → payment in one app. Rize cannot.
Sources. Rize features from rize.io; ActivityWatch limitations from its own REST API docs; TimeCamp and Clockify pricing from their published pricing pages — all read 29 July 2026. Hubstaff’s pricing table is JavaScript-rendered and could not be read, so no figure is given for it. Re-verify every price before committing; SaaS pricing moves.

Rollout checklist

Ordered so that nothing is paid for until it is proven. Phases 0 and 1 cost nothing; stop after either one and you have still gained something.

Phase 0 — Verify before spending  $0 · ~30 min

Phase 1 — Free rollout, billable hours  $0 · ~1 week

Phase 2 — Paid monitoring, new hires only  ~$14/mo · ~1 day

Phase 3 — Dashee integration  build · ~2–3 days

Stop conditions, decided now rather than in the moment. If Phase 0 shows the API does not expose per-user app usage, the Dashee dashboard is not buildable — use TimeCamp standalone and skip Phase 3. If Phase 1 shows nobody logs time, do not buy Phase 2; fix adoption or stop. Writing these down in advance is what stops a trial quietly turning into a subscription nobody uses.