Skip to content
Osama Khattak
Case study · SaaS

Building and running Staffvertex, a multi-tenant time tracker.

Time tracking and project management for teams that bill or pay by the hour. Tracked time turns into timesheets, reports and invoices. I build its backend APIs and web app, and own its maintenance and releases.

Role
Full-stack developer
Company
Alphinex Solutions
Status
Live, in active development
Staffvertex home page on desktop

The problem

When a team pays or invoices by the hour, the hours have to be right. People forget to start timers, lose connection mid-task, log meetings after the fact and split time across projects. Every gap turns into a dispute on a timesheet or an invoice.

The product

People start a timer on the desktop app or in the browser. The tracked hours flow into projects, boards, timesheets, reports and invoices, with each team's workspace kept separate. A free plan covers one user; Pro and Business are per seat.

My contribution

  • Built the backend APIs that record time, tasks and team data.
  • Built the web interface teams use every day.
  • Own maintenance end to end: bug fixes, improvements and releases.

What the platform does

Product capabilities, as shipped. My work is the API and web app that serve them; the desktop clients are a separate project.

  1. 01

    Offline-safe timer

    Desktop timer for Windows and macOS keeps counting when Wi-Fi drops and syncs when it returns.

  2. 02

    Idle-time policies

    Each team decides whether idle time is kept, discarded or asked about.

  3. 03

    Privacy-first screenshots

    Optional, off by default, with blur controls.

  4. 04

    Projects & boards

    Tasks, dependencies and deadlines alongside the timer.

  5. 05

    Timesheets to invoices

    Overtime, exportable reports, invoices and pay rates.

  6. 06

    Per-seat plans

    Free for one user, then Pro and Business per seat.

Engineering notes

A data model that survives people editing their time.

A time tracker is really three apps sharing one API: the web app for planning and reports, the desktop app that tracks, and the API with its database in the middle. The web app runs on Next.js, which also server-renders the public marketing and pricing pages so they rank.

Read the full write-up →
  1. 01

    Store intervals, not totals

    Each entry has start, end, user, project and task in UTC. Durations are calculated, never the only record.

  2. 02

    Record the source and keep edit history

    Desktop, web or manual, plus the old values on every change. It settles disputes and catches bugs.

  3. 03

    Index for the questions asked most

    User + start time covers "my week"; project + start time covers project reports.

  4. 04

    Day boundaries in the user's time zone

    Midnight where the person is, not midnight on the server.

Staffvertex page section on desktop
How a tracked day works, from the first click to the invoice.
Staffvertex home page on a phone
The same page on a phone.

Outcome

Staffvertex is live and in active development, with public sign-up, a free plan and paid per-seat tiers. I continue to ship its fixes and features.

Building a SaaS product?

I can take it from data model to deployed product, or step into an existing codebase and keep it shipping.