Case file — web2026

Unigo EOD Tracker — Work Tracking & Attendance

Internal HR platform for a Nepal company: Kathmandu-timezone check-in/lunch/checkout, hourly EOD logging with pause chains, overtime tracking, and Bikram Sambat reports with CSV export.

Visit live
Unigo EOD Tracker — Work Tracking & Attendance
Client
UNIGO Education Experts — internal HR
Location
Kathmandu, Nepal
Year
2026
Engagement
Sole designer/developer — architecture, database, all workspaces, UI/UX
My role
Sole designer/developer — architecture, database, all workspaces, UI/UX
Employee appLive admin dashboardBS reports + CSVNext.js 16Drizzle ORMNeon PostgresAuth.jsBikram SambatAsia/Kathmandu

What this project is

Built to replace manual EOD reporting, EOD Tracker digitizes the entire workday from login to checkout. Employees check in, log what they work on every hour, pause for lunch, and check out — all automatically validated for late arrivals, early checkouts, and overtime.

The system runs entirely on Asia/Kathmandu time and the Bikram Sambat calendar: month/day navigation in BS (Baisakh–Chaitra), BS↔AD conversion for every query, daily hours bar charts with drill-down, and a monthly BS calendar. Five roles — admin / manager / hr / team_lead / employee — are enforced in both UI and API.

Key features

Smart attendance state machine

out → working → on_lunch → working → checked_out with lunch auto-pause/resume of tasks, lunch pause reasons, and mobile check-in (mobile) badges for admins.

Hourly EOD logging

In-progress / done / partially_completed entries, pause history, editHistory audit trail, and ↳ continue chains for unfinished work carried forward.

Overtime & accountability

Per-employee thresholds (default 10:00 in / 17:00 out), 15-min grace, mandatory late/early reasons, auto overtime = checkout − threshold.

Bikram Sambat reports

BS month length calc, BS↔AD conversion, Nepali month-boundary reporting, daily bar charts, one-click drill-down, and BS-labeled CSV export.

Attendance calendar

Monthly BS calendar with check-in/lunch/checkout/overtime, holiday highlighting, Saturday dimming, click-to-view entries, admin edit/delete.

Leave management

Single/multi-date requests, half-day/sick/casual/annual types, per-date approve/reject/needs_talk with comments, bulk actions, auto-derived partial status.

Teams & live oversight

Today Overview (Checked In / On Lunch / Checked Out / Absent) auto-refreshing every 30s, late/early tables, teams with leads, EMP001 IDs, Nepali holidays, meetings & todos.

How it works

  1. 1Login → Check In (late? reason required)
  2. 2Add hourly tasks → Pause/Resume/Complete with notes
  3. 3Lunch Start (auto-pauses tasks) → Lunch End (auto-resumes)
  4. 4Checkout (early? reason required, overtime auto-calculated)
  5. 5Verify in My Reports / Attendance; HR views live dashboard & BS monthly reports
Outcome

A timezone-correct, BS-native HR system with 8 tables (22 Drizzle migrations), 12 API groups, concurrent task auto-pause logic, and full audit trails — auditable, concurrent, and built for Nepal from the ground up.

More live work