Cebu, Philippines
Projects

Catalyst Time Tracker - VA time and payroll

July 3, 2026

Overview

Catalyst Time Tracker is the time and payroll system of Catalyst Outsourcing, a Singapore virtual assistant (VA) agency. VAs track their hours with a desktop app on Windows and macOS. They file an end-of-day (EOD) report each shift. Admins watch live activity, run reports and pay the team. Clients see their team's hours.

My role

Lead developer since March 2026. The client started the product in Lovable in December 2025, before I joined.
  • 4,024 commits: 92% of the commits people made, and 76% of all commits since I joined
  • Owner of the Python desktop app since March 2026: 303 commits and 15 of its 16 release notes
  • Lovable and a teammate wrote the first version of the desktop app

What I built

  • Payroll: VA pay, client billing, margin and incentives for each pay period.
  • Desktop app: a WebView dashboard, macOS crash fixes and Windows DPAPI token sealing. Billing stays correct when a laptop sleeps past midnight.
  • Agent releases page: stable and latest channels for each platform, with version history.
  • Live monitoring: a page that shows who is working now, with session and day hours.
  • EOD reports: most of the VA report flow.
  • Reports and operations dashboard: per-VA reports, 7-day trends and audit flags.
  • Work calendar for admins, clients and VAs.
  • Incentives, webhooks, audit log and blockers pages, plus a full-screen web timer for VAs.
  • Tests: 211 of the 314 current Vitest and pytest files.
Lovable started the EOD page and the operations dashboard, and a teammate started the work calendar. I did most of the later work on all three.

How I built it

I build with Claude Code and Codex agents. I write the plan and the task specs, and I set the checks each change must pass.
  • A tag on each task sets its checks, such as a plan review or a Playwright check.
  • A task is done only when a Playwright check passes on production.
  • The task queue has over 220 tasks checked off.
I set up the repo's agent config:
  • Most of CLAUDE.md, the rule file Claude Code reads
  • AGENTS.md, the rule file for Codex
  • 15 skills (reusable task instructions), most written for this repo
  • 7 subagents (specialist agents) and a /batch command that works the queue

Tech stack

  • Web: React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui, TanStack Query, React Router
  • Backend: Supabase (Postgres, RLS, Edge Functions), OAuth PKCE SSO, Stripe
  • Desktop: Python (pystray, customtkinter, pywebview, pynput), PyInstaller, Inno Setup
  • Tests: Vitest, pytest, Playwright
  • Agents: Claude Code, Codex, and Lovable until July 2026
Ask me anything