Time tracking that lives on your existing GitHub, not next to it
Most time-tracking tools are a separate database that someone has to manually link to your engineering work. Infersync's time tracker lives on the GitHub issues you're already using, with two-way sync covering issues, PRs, labels, assignees, state, and comments. No mirror, no fork, no parallel system to keep in sync.
Why teams end up here
- Time tracker is a separate tool (Toggl, Harvest, Tempo). Engineers forget to start timers. Numbers never reconcile with actual GitHub activity.
- When time data is needed for invoicing or capacity planning, someone hand-correlates timer entries to GitHub issues in a spreadsheet.
- Time tracking on Jira via Tempo requires a Jira workflow that engineers don't actually use; time data lives in Jira but engineering work lives in GitHub.
- Mirror-style integrations (Linear-GitHub, Jira-GitHub) lose data both directions: comments don't round-trip, labels drift, state changes get out of sync.
- When the time data finally lands, it's two weeks late and the project manager has already invoiced something else.
Time tracking native to the GitHub repos you already use
Connect your existing GitHub org via OAuth in 30 seconds. Infersync's two-way sync covers issues, PRs, labels, assignees, state, and comments — changes flow in both directions via webhook. Clock in/out, work-item timers, and break tracking attach to those real GitHub issues so the time data and the engineering work are the same ledger.
Clock in/out + work-item timer
Daily clock in/out for the working day, separate work-item timers for time spent on specific issues. Breaks tracked separately, attendance daily reminders fire to keep entries honest.
Two-way GitHub sync (no mirror)
Issues, PRs, labels, assignees, state, and comments round-trip via webhook. Edit an issue title in Infersync, see it on github.com. Comment on github.com, see it in Infersync. Your repos stay your repos.
Commits and PRs tied to time entries
Activity tracking ties commits and PR events to the time entries on the same issue, so the cost roll-up is computed from real engineering work, not estimates.
Leave management with availability gating
Leave requests and approvals link to the time + capacity system so 'who's actually available next week' is a real number, not a manual sweep of Slack.
Daily clock-in reminders
Automatic reminder cron pings members who haven't clocked in by their scheduled start time. Helps capacity stay accurate without nagging from the manager.
Per-member rates and per-feature roll-up
Each member has an hourly or daily rate; time entries roll up to cost-per-feature live (see also Engineering cost tracking).
Steps to get from zero to live
- 1
Connect GitHub
OAuth in 30 seconds. Two-way sync activates immediately for the repos you authorise.
- 2
Invite the team
Up to 50 seats on Base, 1,000 on Operations. Members log in with GitHub OAuth or email + 2FA.
- 3
Clock in
Top-right of the dashboard: clock in for the day, start a work-item timer when you pick up an issue. Take breaks via the break button.
- 4
Watch the GitHub sync work
Edit an issue, change its assignee, add a label — see the change on github.com within seconds via the webhook. Comments round-trip both ways.
Available on the Base plan and up
Time tracking, leave management, two-way GitHub sync, and daily clock-in reminders all ship on the Base plan at £7 per seat per month. Cost-per-feature roll-up and burn analytics require Operations (£15). The 14-day free trial gives every workspace Operations-tier access so you can see both layers against your real GitHub data.
FAQs about time tracking that lives on your existing github, not next to it
What does 'no mirror' actually mean?
Linear, Jira (with the GitHub plugin), and ClickUp all 'integrate' with GitHub by creating mirrored issues in their own database. Two databases. Edits drift. Comments don't round-trip cleanly. Infersync's model is opposite: the GitHub issue stays the source of truth, Infersync edits write to GitHub via the REST API, and webhooks flow GitHub-side changes back. There's no second copy to drift.
Which GitHub events does the sync cover?
Issues created, updated, closed, reopened, deleted; pull requests created, updated, merged, closed; labels added or removed; assignees added or removed; state transitions; comments. The webhook is set up automatically when you connect the GitHub org (or per-repo if you prefer fine-grained control).
What about GitHub Projects (the new beta + classic)?
GitHub Projects integration ships via /api/github/projects/route.ts — Infersync work items can be added to or removed from GitHub Projects, and project-level fields sync. The classic project board view is read-only in Infersync today; full bidirectional project-board editing is on the roadmap.
Does this work for private repos?
Yes. The GitHub OAuth flow requests repo scope; you authorise the specific orgs and repos you want to sync. Private repo issues, PRs, and comments are handled the same way as public.
How does this compare to Tempo / Toggl / Harvest?
Tempo, Toggl, and Harvest are general-purpose time trackers with a separate database and a manual correlate-to-engineering-work step. Infersync is engineering-team-specific and lives on the GitHub issues directly, so the time data and the engineering work share one ledger. The trade-off: Infersync doesn't track non-engineering time (sales calls, marketing campaigns). For engineering teams only, that's a feature; for cross-functional time tracking, you'd want a generalist tool.
What if I'm on GitLab or Bitbucket?
Infersync is GitHub-native today. GitLab and Bitbucket are both on the roadmap. If you're on either, book a demo and we'll talk about timing.
See also: Engineering cost tracking • AI task assignment • GitHub time tracking • Capacity planning.