Tunnit

Hours and pay for part-time work

Log your work hours and see what each payday really brings, before the payslip arrives.

Why I built it

I wanted to see my real net pay before the payslip arrives, not after.

The Today screen while clocked in: hours and earnings so far and a big Stop work button.
Type
Web app, PWA, Offline
Status
In daily use
Code
Private
Revision
2026.10

The problem

With part-time jobs, the net pay depends on the hours, the tax card, the pension and unemployment insurance contributions and, for students, the student aid income limit. That is hard to work out in your head and easy to get wrong.

What it does

How it’s built

Functional block diagram

Inputs

  • Clock in and out, daily hours (works offline)
  • Tax card and student aid settings
  • Payslip PDF
  • Employer's Excel timesheet

Core

  • Pay rules in whole cents: withholding, pension and unemployment contributions
  • Hono API
  • SQLite, one file

Outputs

  • Today, Pay and Year screens
  • Limit warnings
  • Timesheet back as Excel
Functional block diagram.

Specifications

Tunnit at a glance
PlatformInstallable web app (PWA), works offline
RulesFinnish withholding tax, pension and unemployment insurance contributions, Kela's student aid income limit
StorageOne SQLite file
LanguagesFinnish, English
StatusIn daily use
Built2026
StackTypeScript, React, TanStack Query, Hono, SQLite, vitest, Playwright, PWAs
CodePrivate

Revision history

Revision history
RevDateChange
E2026-10-26Excel timesheet export and import; payslip PDF import.
D2026-10-26Pay and Year screens, payslip check, tax card and student aid limits.
C2026-10-26Today and Entries screens with an offline outbox.
B2026-10-26Pay rules with tests: holidays, lunch breaks, pay periods, tax and contributions.
A2026-10-26Scaffold: server, database, sign-in, installable app shell.