Work hours and time balance trackingKairo
Time balance without a spreadsheet.
Open-source, self-hosted time tracking: log shifts and breaks and keep an eye on overtime, missing hours and your running balance.


- Year
- 2026
- Role
- Concept, full-stack development, testing with Pest and Larastan, and infrastructure.
- Stack
- Laravel 13
- Inertia
- Vue 3
- TypeScript
- Tailwind
- Pest
- Docker
The problem
People who track their own hour balance usually rely on spreadsheets and manual math, which fall apart with split shifts, breaks, holidays and schedules that change by weekday.
By the numbers
- 3export formats: CSV, PDF and XLSX
- 4processes from a single Docker image
- 2languages with their own routes: Portuguese and English
- 29Pest test files
What was built
Shift logging with breaks and split shifts, compared against the expected weekly schedule for each day.
Automatic missing hours, overtime and running balance, accounting for country holidays and personal days off.
Monthly and six-month charts, plus CSV, PDF and XLSX exports.
Passkey login and two-factor authentication, with a timezone per user.
Server-side rendering with Inertia, in English and Portuguese, with light, dark and system themes.
A single Docker image running as four processes: web, SSR, queue and scheduler.
Screens

Server-rendered landing page, in Portuguese and English.

Day-by-day history, with missing and extra hours for each date.

The same history as a calendar, with per-day schedule overrides.

Weekly schedule: day off, target hours or fixed hours for each day.

Sign in with a passkey or email and password, with two factors.
Outcome
Replaces the spreadsheet with a tool anyone can self-host, with numbers that always match the real work schedule. It is built for personal organization, not for monitoring employees.