Skip to content
SEB.
UniLate's interface laid out wide, scrolling from the day view through the timetable

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