The Momentum Ring
The dashboard hero. One glanceable ring combines XP progress, current academic rank, and your active streak, so opening the app immediately tells you where you stand.
Attendance, with momentum.
Attendize turns attendance into momentum. Students log Present, Late, or Absent for each class, see exactly how many classes they can still safely miss, forecast their end-of-term percentage, and earn XP, ranks, streaks, and badges along the way.
Most students track attendance in their head or a half-kept spreadsheet, usually until it is too late to fix. Attendize makes the daily check-in a two-second habit, then turns that data into something motivating: a clear read on how much room you have left, an honest forecast of where you will land, and a game worth keeping a streak in.
The whole app is organized around a student's loop. Four pieces carry it.
The dashboard hero. One glanceable ring combines XP progress, current academic rank, and your active streak, so opening the app immediately tells you where you stand.
The number students actually want: exactly how many classes you can still miss before you drop below your required percentage, computed live as you check in.
Projects your final attendance from your current trend, runs what-if scenarios, and flags at-risk classes with confidence bands so there are no surprises at finals.
Academic ranks from Freshman to Valedictorian, daily streaks, and a twelve-badge trophy case, with a guided first-run checklist to get a new student set up fast.
One tap for Present, Late, or Absent, with instant XP, a streak bump, and a small celebratory burst the moment you log it.
Weekday and time-of-day patterns, a consistency heatmap, and your punctuality records, so habits become visible.
Attendance data stays on the device, with full account and data deletion built in from the start.
Light and dark, tokenized end to end, with two brand objects doing the heavy lifting.
A full system on OKLCH color tokens, a 4-point spacing scale, a type scale, radii, elevation, and motion curves, themed end to end.
Fraunces, a display serif, carries the hero numerals and rank names; Outfit handles the UI text.
A cohesive set of 33 glyphs, all drawn on a single 24px grid for a consistent weight and rhythm.
A calm identity in deep spruce green and honey gold, with tactile depth from gradients, soft shadows, grain, and glass.
A single hero object that folds XP progress, current rank, and streak into one ring.
A 270° gauge showing, at a glance, how many classes you can still miss before dropping below target.
One typed codebase, two derived engines, and a responsive system that treats the iPad as a first-class layout.
React Native and Expo (SDK 53), fully typed in TypeScript, with file-based Expo Router navigation, a custom tab bar, and a center Check-In button.
A custom responsive system that becomes a sidebar with multi-column content on tablet and bottom tabs on phone, rather than a stretched-up phone screen.
Sheets, segmented controls, steppers, sliders, and toggles built by hand, plus bespoke SVG data-viz, with no heavy third-party UI library.
react-native-svg and Reanimated 3 drive the Momentum Ring, Buffer Gauge, sparkline, forecast chart, and celebrations, all built to respect reduced motion.
Zustand stores persisted with AsyncStorage feed a gamification engine and a forecasting engine that both derive from one attendance record store, so there is no schema migration.
Firebase with email, Google, and Apple sign-in, a guest demo mode, account deletion, local notifications, and location-based reminders.
An EAS Build and Submit pipeline, a branded icon and splash, a hosted privacy policy and landing page on GitHub Pages, the App Store listing, and a dedicated demo login for Apple review.
Tracked down a React Native and Xcode build failure (an fmt consteval error) and resolved it with a custom Expo config plugin.
Zustand · AsyncStorage · on-device
XP · ranks · streaks · badges
projection · what-if · confidence
Ring · Gauge · charts · Reanimated
iPhone and iPad, light and dark. Flip through.
Attendize is a full product shipped solo: the idea, a complete design system, and a cross-platform app taken all the way to App Store review. Open to freelance, contract, and the right full-time role.