-
-
-
Home screen for admin mode , where the authorized person has access to almost everything needed for the restaruant hr management
-
Payroll summary screen where user has access to the staff payroll for the selected month allowing to generate for all staff or for each
-
Shift log attendance screen where admin can track all the current attendacne for staff or slected busienss day
-
Penalty screen where admin can attah a penalty for a staff
-
Loans screen where admin can attah a loan for a staff
-
Pin Code Sheet
-
Staff screen where user has access to all the staff for the current restuarnat branch and chain
-
Sample PDF file of some of the generated documents within the app
-
-
Inspiration
Running my family restaurant, i faced constant headaches managing employee attendance, payroll, and HR tasks. Clocking in/out was manual and error-prone, payroll often required hours of paperwork, and tracking borrowings or deductions was scattered across multiple systems. We wanted a simple, accurate, and mobile solution
What it does
NFC clock-in/clock-out for employees (works on both Android & iOS). NFC reading and writing staff info (works on both Android & iOS). Manaing the working hours and business days and support overnight shifts (eg : after 12 :00 am to accurate total worked hours calculations ) Borrowings & deductions management (salary advances, lateness, hygiene issues, etc.). Extras/allowances tracking (overtime, transportation, bonuses). Automated payroll generation with PDF/Excel export. Role-based access for managers and staff. Offline-first sync so it works even without internet. Multi-branch and even restaurant chains support for larger operations. History based solution for past years , moths ,days
How we built it
Framework: Kotlin Multiplatform + Compose Multiplatform for shared UI and logic.
Reactive & Async Programming : Kotlinx Coroutines
Date & Time Manipulations : KotlinX DateTime
Data Parsing & Serialization : KotlinX Serialization
Efiecient Full Text Search Using Kmp Room FTS4
Storage: KMP Room for local database, KMP DataStore for lightweight preferences.
State management: KMP ViewModel for shared state across platforms.
NFC integration: Reading & writing on both Android and iOS.
PDF generation: Canvas drawing & PDF export for payroll reports (works on both platforms).
Networking & sync: We Decided to go production for the first version using Firebase , i build my own firebase auth , firebasae firestore, firebase storage shared business logic using each platform (ios - android ) specific implementation) but i decided to make use of our library in the next versions and i used a released open source library for kmp firebase as for now as it was already tested , but my solution iam still testing it for now
Dependency Injection: Koin Multiplatform + Koin Compose Multiplatform
UI/UX: Simple Minimal Designed for simplicity with multi language support (Arabic & English) + Material3 Compose Multiplatform Navigation , Coil Compose multiplatform Image Networking Library Loader
Challenges we ran into
as my background is not strong enough in IOS echosystem i faced some challenges in the NFC reading and writing , as well as the pdf generation in the IOS it was challenging for me to integrate it for IOS devices but at the end with the hlep of great power of KMP it's now working great
Accomplishments that we're proud of
Fully functional NFC clock-in/out across Android and iOS from the same codebase. Cross-platform PDF payroll generation that matches in both IOS and Android Offline First App + Strong Powerful DataSyncing and Full Text Search
What we learned
Enhanced my background more with IOS EchoSystem more and more , Writing Code Directly from the native IOS Is The Best Scalable Way To Have Your App At a Huge and long term scale , KMP is the true solution for complex , production grade apps espcially when dealing with low hardware API like NFC
What's next for StaffMate
currently the app is build as a custom solution for our family business and theire business logic we need to start adding busienss features like Staff Success , Ratings , building my own backend (Yes i want to make it using Ktor ) , support for extra id verifications hardware , extend the app to make a module for staff himeself to manage and see all his data + automate alot of business logic inside restaurants ( break time , allowances , assets , staff meals , requests ...etc ) i want to automate all my restaurant worfklow with the help of a solution i built it for me and for any restaurant owner i know what they exactly need , also a great feature to have is to make a workflow or checklist that needs to be done everyday for specific job title which will be great if automated and to be applied using friendly way in a mobile app extend the app to be easily integrated with POS solutions somehow after the app can be fully applicable for all restaurants and chains with theri own business logic we need to make any restaurant life happy and adopt the app idea
Log in or sign up for Devpost to join the conversation.