
UTS — Universal Tracking System
Cross-platform tracking platform built with React Native, Expo, and AWS. Private client work — source is not public.
02.2024 — PresentLed a cross-functional engineering team on the platform.
React NativeExpoAWSCI/CD
What I did
- Restructured the app's architecture and optimized hot paths to improve runtime performance and cut initial load times.
- Set up an automated release pipeline with GitHub Actions and Expo EAS so builds ship to iOS and Android without manual steps.
- Coordinated a cross-functional team, owning the technical direction of the tracking platform.
Impact & results
- Improved app performance by 40% and cut load times by 60%.
- Automated the entire build-and-release pipeline.
The problem
UTS is HeavyTask's cross-platform tracking platform, and when I took it over the complaints were concrete: slow startup, sluggish screens, and a release process where every build to the stores was a manual, error-prone afternoon. The product worked; the engineering around it didn't scale.
My approach
I lead the platform's technical direction, coordinating a cross-functional team of 5+ developers.
- Architecture restructuring — I profiled the app before touching anything, then reorganized module loading, deferred SDK initialization off the startup path, and fixed the first-screen data waterfall so the app paints real data fast.
- Hot-path optimization — the heaviest list screens got memoized rows, display-size images, and flattened component trees, measured against a low-end Android reference device rather than a simulator.
- Release automation — I built the CI/CD pipeline with GitHub Actions and Expo EAS: tag-triggered production builds, auto-incremented build numbers, and store submission with no manual steps. Internal preview builds give QA the latest changes without waiting on store review.
- Team practices — I mentor the junior developers on the team and established the coding standards, review process, and unit-testing strategy the platform ships under.
Challenges
- Optimizing without a rewrite — the wins had to land incrementally in a production app with active users, so every restructuring step shipped behind the normal QA cycle instead of as a big-bang branch.
- Making releases boring — the pipeline's real job is removing human typing from the release path. Fifty-plus production releases later, a release is a git tag and a checklist, not an afternoon.
Outcome
App performance improved by 40% and load times dropped by 60%; the build-and-release pipeline is fully automated across iOS and Android. Private client work — the source is not public.