
A complete Telegram Mini App system for tracking attendance and automating payroll calculation.
Stroymir 777 is a large construction-materials retailer in the Andijan region. With a sizable workforce, tracking work hours by hand, accounting for late arrivals, and calculating salaries manually every month was time-consuming and error-prone. They needed a fair, transparent calculation system that handled different employee types — monthly, daily, and hourly.
We built a complete system consisting of a Telegram Mini App, a bot, and an admin panel. Employees register in a single tap using their phone number — no PIN to memorize. "Check in" / "Check out" buttons work through Telegram's native location feature, while geofencing ensures check-ins happen only within the office area (configurable radius). The admin panel lets managers manage staff, monitor attendance in real time, mark leave days, and generate monthly reports automatically.
At the heart of the system is a payroll engine. Based on each employee's type (monthly/daily/hourly), it automatically calculates late-arrival penalties, refunds for unused leave days, and full-attendance bonuses. A fallback interface with large buttons is also available for older employees.
React 18 · TypeScript · Tailwind · Zustand · Node.js 22 · Express · Prisma · PostgreSQL 16 · grammY · Docker · Caddy
Manual calculation was eliminated entirely — payroll is now computed automatically and error-free every month. Attendance became transparent in real time, and geofencing prevents fake check-ins. All sensitive data is protected with AES-256-GCM encryption and JWT authentication.
Completed & live · 2026