One time-tracking product across web, desktop and mobile



About the client
TraxStaff is a time-tracking product for teams. Time is recorded against a project and a task as the work happens, and the record is organised by day, week and project rather than dropped into one long list.
The brief
Build the product on every surface a team actually works on (a browser, a desktop machine and a phone) without three separate codebases drifting apart, and with roles and permissions that hold the same in all three.
The screens
Step through the product the way the people using it see it. The product screens use sample data, so no client records are shown.
Dashboard
The running timer beside the week: hours worked, activity, active projects and work by hour.
The public site

The approach
One API behind three clients. The dashboard is a Next.js application, the desktop client is Tauri so it ships as a native binary rather than a bundled browser, and the mobile client is Expo. The server is Fastify over Prisma and Postgres, so every client reads the same data through the same rules.
How it fits together
Next.js, in the browser
Tauri, a native app
Expo, iOS and Android
Fastify and Prisma. Roles are enforced here, once, for all three clients.
Every entry, project and role
Most time-tracking tools feel like extra work, so teams stop using them after two weeks. This one stayed simple enough that supervisors still see daily entries.
What we did
- Next.js dashboard with day, week and project views
- Fastify and Prisma API over Postgres
- Tauri desktop client for tracking while you work
- Expo mobile client for iOS and Android
- Owner, admin and member roles, enforced at the API
- Manual entries flagged for review and approval
- Insights across people, projects and categories