benchdataQ
A Laravel app that pulls Harvest timesheet data and provides benchmark analytics for agencies.
6 commits over 2 days
What it is
BenchdataQ integrates with the Harvest time-tracking API to retrieve historical time entry data, process it asynchronously via queued jobs, and deliver benchmark data to agencies. It uses OAuth2 for secure authentication with Harvest and leverages RabbitMQ for reliable background processing of company and user data. The tool is aimed at agencies who want to analyze and benchmark their time-tracking metrics against aggregated data.
Why I built it
Likely built to solve a real need for an agency (or multiple agencies) to gain insights from Harvest time-tracking data—turning raw timesheet entries into actionable benchmark metrics. The focus on OAuth integration and job queuing suggests the developer was working toward a production-ready tool that could handle data from multiple Harvest accounts at scale.
Tech stack
Laravel (PHP), Blade templates, Vite for asset bundling, RabbitMQ for job queuing, OAuth2 (Socialite) for Harvest API integration, MySQL/Postgres (inferred from migrations). Includes Tabler UI framework (CSS/flags/payments assets) for the front-end.
Timeline & effort
Last active Oct 28, 2024 — 6 commits across 2 active days (spanning 74 days).
Modest sustained effort: 6 commits over a 74-day span with only 2 distinct active days (August and October 2024). The work was concentrated in two bursts—initial scaffolding in August (5 commits) and a follow-up in October (1 commit)—suggesting focused setup sessions rather than continuous development.
Did it turn out useful?
The repo has foundational features in place (OAuth flow, Harvest API integration, job queue architecture, database schema for companies/users/tokens), but the lack of tests, CI/CD, deployment config, and minimal commit activity after October 2024 indicate development stalled before reaching production. The README is thorough but aspirational—features like "View Benchmarks" and the dashboard are described but not evidenced in the file tree.