
ActiveMobile · Product
UniLate
University Attendance & Grade Tracker
The first one shipped to a store, not a jury
Programme
Google Play — closed testing
Role
Solo Developer
Team
Solo
Period
2026
Brief
An Android app for tracking university attendance, schedule and grades — the first thing Serhan built for a store rather than a competition. It is local-first by design: everything lives in on-device SQLite with no account and no server, and sessions are derived from the schedule rather than stored, so a term stays internally consistent after every edit. The home-screen widget is a native Android module he wrote himself and wired into Expo, and he took the app the whole way through Play Console — his own signing key, app bundle, store listing and a published privacy policy.
What he built
- 01Expo SDK 57 and expo-router app in TypeScript, local-first on device SQLite — no account, no backend
- 02Pure-TypeScript domain layer (attendance, grading, schedule, timeline) that never touches React or SQLite, unit-tested with Vitest
- 03Sessions derived from the schedule instead of stored: one full recompute per change keeps the term consistent
- 04unilate-widget — an Android home-screen widget written as a custom native Expo module with its own provider, drawing and config screen
- 05Local notification scheduling on separate Android channels for reminders and the Pomodoro timer
- 06Full Play Console path: own upload key, signed app bundle, generated icon, splash and screenshot sets, hosted privacy policy
- 07Closed testing live — 12 testers on Google's 14-day requirement
Stack
- TypeScript
- React Native
- Expo
- SQLite
- Kotlin
- Vitest
- Play Console
