Performance Review Tracker
A long-running desktop app for employee time tracking, screenshot capture, and activity monitoring. The main pain points were time log conflicts between the desktop client and CRM — requiring manual admin fixes — and gradual memory leaks during full workday sessions. We redesigned the conflict resolution flow into an interactive modal, profiled and eliminated the memory leaks, and cleared a backlog of stability bugs.
Challenges
Time log conflicts between client and CRM
When the desktop app and the CRM both held time log data, overlapping entries were common. There was no automatic resolution — admins had to fix them manually. We built automatic overlap detection before any upload attempt and an interactive conflict resolution modal that gives users clear, actionable choices.
Memory leaks in a long-running process
The tracker runs continuously in the background for full workdays. Gradual RAM growth from unreleased event listeners and detached UI components was causing slowdowns and occasional crashes. We profiled the application to identify the exact leak sources and refactored component lifecycles for proper garbage collection.
Accumulated technical debt and stability bugs
The codebase had a backlog of logic bugs and UI glitches that had compounded over time. We triaged, prioritized, and systematically resolved the critical and high-priority issues while improving error handling to prevent silent failures going forward.
Our approach
Root cause analysis
Profiled the application under realistic workday conditions to locate the memory leak sources — unreleased event listeners and detached UI components in .NET MAUI component lifecycles. Separately analyzed the CRM sync code to understand the structural cause of time log overlaps.
Conflict resolution modal
Designed and built the Interactive Conflict Resolution Modal with automatic overlap detection logic that fires before any upload attempt. Users see the conflicting entries side by side and choose to delete from the local app or from the CRM — no admin involvement required.
Memory leak fix and lifecycle refactor
Refactored component lifecycles across the affected parts of the codebase to ensure proper disposal and garbage collection. Re-tested under 8-hour simulated sessions to confirm stable memory footprint.
Stability backlog clearance
Triaged the full bug backlog by severity and impact on payroll accuracy. Resolved all critical and high-priority items, improved error handling to surface failures visibly instead of swallowing them, and handed off a stabilized codebase.
Result
100% payroll data accuracy after conflict detection was deployed. Stable 8-hour sessions with no crashes. Zero manual admin interventions for overlap conflicts.
By the numbers
100%
Payroll data accuracy
8+ hours without degradation
Session stability
0
Manual admin interventions for overlaps
Tech stack
We want to hear your thoughts.
our CTO Kyrylo Osadchuk, will reply within 24 hours. No SDR funnel.
Start a conversation
We want to hear your thoughts
Re: Performance Review Tracker
