Presein
Internal HR and attendance platform with location checks
Fullstack Engineer | 2023 to present | Laravel, React Native Expo, Filament, OpenAI, MySQL
Internal HR and attendance platform with location checks, used by 250+ employees across branches.
Attendance lived on paper and spreadsheets at every branch. Managers spent the first week of each month sorting out the numbers instead of acting on them.
Manual attendance across branches meant payroll and reviews took 3 to 5 working days of paperwork every month. Worse, clock ins written by hand were easy to get wrong and easy to fake, so nobody could trust the data enough to base a salary on it.
If clocking in is just a button, anyone can do it from anywhere. So I built an Android app that checks the employee's location against the branch they belong to, and asks for a photo as proof they are really there. I also handled fake GPS apps and people changing their phone's clock, instead of believing whatever time and location the phone reports. The trade off: more checks to get right in the app, and some employees could not clock in where the GPS signal is weak indoors. I took that, because attendance data you cannot trust makes every payroll decision built on it useless.
HR used to rebuild the monthly numbers by hand before payroll could run. So I built the totals straight from the raw records, per employee and per period, so HR starts from finished numbers. The trade off: the rules for lateness, leave, and overtime now live in code, so changing an HR policy means changing the app instead of editing a spreadsheet. I took that, because the same rules spread across branch spreadsheets were exactly why the numbers never added up.
Managers did not need another dashboard. They needed answers to questions you cannot turn into a filter, like who was late today. So I connected an OpenAI chatbot to the attendance and KPI data through a service I built, so managers can ask in plain language and get answers from the real records instead of reading a fixed report.
- -250+ employees on the system every day
- -Monthly totals for payroll and reviews are ready in the system, replacing 3 to 5 working days of manual paperwork
- -Managers ask the chatbot about their team instead of opening reports
- -Became the basis of my undergraduate thesis on WhatsApp and LLM based attendance monitoring
I would add face recognition so the photo proves who showed up, not just that someone did. I would also build full payroll on top of it, and go back to the location checks, which are still too loose when the signal is poor.