Timing - Automated Time Tracking Development
The Context
Working on the macOS time-tracking app Timing for over three years was a unique experience. During this time with Daniel Alm, Timing felt like home – very much like working on my own apps.
Core Contributions
My work focused on:
- Adding features, most notably integrations with other applications
- Building bridges to third-party productivity tools
- Bug fixing and stability improvements
- User interface implementation
Technical Challenges
Third-Party Integrations
One of my main contributions was developing the integration system that allows Timing to automatically track time spent in various applications. This required spelunking in SQLite databases to find out ways to ingest data.
RxSwift
The app’s reactive architecture using RxSwift allowed us to:
- Handle real-time activity monitoring
- Coordinate multiple data streams
- Maintain UI responsiveness during heavy processing
Team Dynamics
What made this project special was the collaborative environment and the trust to make architectural decisions. The codebase was well-maintained and actively worked on, Daniel emphasized pragmatic testing, and there was always room for suggesting improvements and implementing them.
Personal Reflections
This project felt like home. TODO: Add more personal reflections about long-term collaboration and growth
Impact
The features and improvements I contributed to Timing helped serve thousands of users who rely on accurate time tracking for their billing, productivity analysis, and work-life balance. I’m using Timing myself and enjoy watching it grow up since I left.