Track attendance and leave without the paperwork.
AttendIQ is a mobile-first employee app for tracking attendance, leave requests, and work hours with geofencing-based check-in validation. It is designed for companies that need a simple employee experience and reliable HR admin reporting in one system. The product uses BetterAuth for authentication and DrizzleORM for a modern TypeScript backend, with a single-page app that supports server-side rendering for fast phone access.
HR Manager Aisha, 38 - Aisha manages attendance and leave for a 120-person company with multiple office locations. She needs trustworthy records, quick approvals, and simple exports for payroll.
Employee Daniel, 29 - Daniel is a hybrid employee who uses his phone for most work tasks. He wants a fast, low-friction app that works reliably when he arrives at the office or works remotely.
Operations Lead Mei, 44 - Mei oversees multiple sites and needs a clear view of who is present, who is absent, and where policy exceptions are happening. She cares about visibility more than administration.
Aisha runs HR for a company with three offices and a hybrid workforce. Every payroll cycle, she used to chase spreadsheets, confirm who was really on site, and reconcile missing check-outs by hand.
With AttendIQ, employees check in from their phones and the app confirms whether they are inside the approved office geofence. Leave requests flow through the same app, and Aisha can approve, reject, or export reports from one dashboard without digging through email threads.
Within a few weeks, attendance disputes drop, payroll prep becomes routine instead of urgent, and managers gain a reliable view of presence and working hours. The business saves admin time, employees trust the process more, and operations gets cleaner data every day.
Team & resourcing - Small product team - 2 full-stack engineers, 1 designer, part-time PM, and QA support during release.
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a mobile-first employee attendance and leave management app called AttendIQ. Core product: Employees use their phones to check in and check out with geofencing validation. HR admins manage office locations, attendance reports, leave approvals, and work-hour summaries. The app must be a single-page application with server-side rendering for fast first load and smooth navigation after load. Tech stack: Use Next.js with App Router, React, TypeScript, Tailwind CSS, DrizzleORM, PostgreSQL, and BetterAuth. Add Zod for validation, TanStack Query or server actions for data fetching, and a lightweight chart library for dashboards. Use a clean component system and keep the UI mobile-first. Primary roles: Employee, Manager, HR Admin, Super Admin. Required screens and flows: 1. Auth pages with sign in, session persistence, and role-based redirects. 2. Employee home dashboard showing current attendance status, hours worked today/week, leave balance, and main actions. 3. Check-in and check-out flow with location permission handling, geofence validation, success/failure states, and duplicate-action protection. 4. Leave request flow with type, date range, note, validation, and status tracking. 5. HR admin console with employee list, attendance table, leave approvals, location/geofence management, and CSV export. 6. Work hour analytics dashboard with daily, weekly, and monthly summaries plus filters by employee, team, and location. 7. Audit log screen for admin overrides and policy changes. Data model to implement: User with id, name, email, role, status, timezone, companyId. Company with name, plan, settings. Location with name, address, geofenceType, radiusMeters or polygon, timezone, active. AttendanceRecord with userId, companyId, locationId, checkInAt, checkOutAt, status, lat, lng, accuracyMeters, notes, source, reviewedBy. LeaveType with companyId, name, policy, balanceRule. LeaveRequest with userId, companyId, leaveTypeId, startDate, endDate, status, approverId, reason, decisionNote. AuditLog with actorId, companyId, actionType, entityType, entityId, beforeJson, afterJson, createdAt. Policy with companyId, graceMinutes, overtimeRule, approvalLevels, geofenceTolerance. Behavior requirements: Implement secure BetterAuth sessions and server-side authorization checks for every protected route and mutation. Use DrizzleORM for all database access. Store timestamps in UTC and display them in the user’s office timezone. Validate geofence eligibility before creating attendance records. Prevent duplicate check-ins and missing check-out errors. Support CSV export of attendance and leave data. Add audit logging for admin edits and overrides. Make the UI responsive, accessible, and fast on mobile. Deliver a polished MVP with seed data, migrations, reusable components, empty states, loading states, form validation, and sensible error handling. Include a simple design system and make the app ready for deployment on Vercel with PostgreSQL.
Design by The Resonance | Powered by GPC – The AI Transformation Company