HOME

iCounter

Desktop app made with Python for tracking my work and earnings

Visit Live Site
Tech:Python

Overview

Desktop application built to track translation work (paid per record), automating logging, earnings calculation, and real-time productivity metrics. Designed to replace manual tracking and provide immediate feedback during work sessions.

Key Features

  • Real-time tracking of records translated and earnings
  • Session and sprint-based time tracking (start/stop workflow)
  • Live productivity metrics including records per hour, average time per record, earnings per hour, total session time and earnings
  • Automatic logging to Excel file
  • Pre-structured Excel output for persistent record keeping

Technical Highlights

  • Modular OOP architecture with clear separation of concerns
  • Unidirectional data flow: UI triggers actions, actions update state/data, state notifies UI
  • Observer-style pattern for UI updates via state subscriptions
  • Timer system that tracks session, sprint, and per-record timing concurrently

Challenges Solved

  • Maintaining accurate time-based metrics across overlapping timers (session vs sprint vs per-letter)
  • Designing a clean interaction model between UI, state, and data layers
  • Ensuring real-time stat updates without introducing inconsistency
  • Handling Excel formatting and reliable append-based persistence

What This Demonstrates

  • Ability to design clean, modular architectures in a desktop environment
  • Strong understanding of state management and data flow patterns
  • Practical application of automation to eliminate manual workflows
  • Building tools tailored to actual user needs

My Role

Made fully by me.

iCounter