All projects

Absense

Attendance intelligence for a campus of students

Users
1,500+
Daily active users
300+
My role
App engineering · Team contribution
Scope
Offline-first Android app
Built with
React Native · Expo · TypeScript · TanStack Query · NativeWind
Platform
Android · EAS Build
Repository
Private
Visit Absense

Owned significant parts of the app. Built with others.

A note on the work,
and the choices behind it.

How it started

I found security flaws in my college’s student records system and reported them to the administration through a responsible disclosure.

After that, I reverse engineered the undocumented records API the system exposed, which made a real attendance client possible.

The product problem

Every student already had access to an attendance percentage. Nobody had an answer to the question they actually asked: could they skip tomorrow?

Absense reframes the number as a budget. Per subject, it shows how many classes you can still miss. If you are already below the line, it shows the minimum number of classes needed to recover.

Student records APIOffline cacheAttendance budget
The shape of the system, at a glance.

Engineering

The app uses React Native 0.81 on Expo 54 with TypeScript and NativeWind. React Navigation 7 handles routing.

TanStack Query with AsyncStorage persistence makes it offline-first. That matters because campus Wi-Fi is unreliable and students open the app between classes.

Credentials sit in Expo SecureStore. FlashList and Flash Calendar keep long lists and the calendar view smooth, while Fuse.js handles subject search.

Expo Notifications provides reminders, PostHog supports product analytics, and React Native Stallion delivers OTA updates so fixes reach users without a store round trip. EAS Build handles Android releases.

Layer by layer

  1. React Native 0.81 on Expo 54

    TypeScript and NativeWind

  2. React Navigation 7

    Routing

  3. TanStack Query with AsyncStorage persistence

    Offline-first data

  4. Expo SecureStore

    Credentials

  5. FlashList and Flash Calendar

    Long lists and the calendar view

  6. Expo Notifications, PostHog, React Native Stallion

    Reminders, product analytics, and OTA updates

  7. EAS Build

    Android releases

Made with care, kept simple.End of page. Start of a conversation. ↑