Back to Projects

Reign - Developer Productivity

A mobile app for developers to track projects, tasks, and timed work sessions. Each session is recorded into a timeline and contribution grid to measure consistency.

Problem & Objective

Developers often struggle to maintain consistency in their daily work habits. Existing productivity tools are either too generic or too complex, failing to address the specific needs of software developers who work across multiple projects simultaneously.

Reign was built to give developers a personal productivity companion that tracks not just tasks, but actual work sessions tied to specific projects. The goal was to make consistency visible through a contribution grid similar to GitHub's, motivating developers to maintain streaks and reflect on their output.

Challenges & Solutions

1. Offline-First Data Persistence

Since developers often work in environments with unstable internet, the app needed to function fully offline. I implemented SQLite with Expo's local storage APIs to ensure all session data is stored locally first, with a sync layer prepared for future cloud backup.

2. Contribution Grid Rendering Performance

Rendering a full year of daily contribution data (365 cells) caused noticeable lag on lower-end Android devices. I optimized this by virtualizing the grid rendering and memoizing cell components, reducing render time significantly.

3. Cross-Platform UI Consistency

Achieving consistent UI between iOS and Android with NativeWind required careful handling of platform-specific spacing and shadow behaviors. I created a set of shared utility components with platform-aware style overrides.

Results & Impact

  • Delivered a fully functional mobile MVP with offline support across iOS and Android.
  • The contribution grid feature received strong positive feedback from early testers for making work habits tangible and motivating.
  • Session tracking accurately reflects time spent per project, helping developers identify where their time actually goes.
  • Established a clean modular codebase that makes adding features like cloud sync and team sharing straightforward in future iterations.

Specific Role

Full Stack Mobile Developer

Solely responsible for the entire product, starting from UI/UX design in Figma to React Native implementation, local database modeling with SQLite, and Expo build configuration for both platforms.


Tech Stack

React NativeNativeWindSQLiteExpo

Status

Completed / Active