Project index

Developer

PayMood

A workday progress and estimated-earnings dashboard, with a VS Code extension using the same schedule and salary calculations.

TypeScriptNext.jsReactTailwind CSSVS Code APIVitest

Problem

A workday tracker needs to translate schedules and different pay periods into understandable progress and earnings estimates.

Showing the same information in a browser and an editor can produce inconsistent figures if each interface maintains its own calculation rules.

Approach

Keep schedule and salary calculations in shared TypeScript helpers, then present their output through a Next.js dashboard and a VS Code extension.

Keep the interface quiet and preferences local, with earnings presented as estimates rather than payroll records.

Project views

PayMood website showing a circular daily earnings indicator, workday progress, remaining time and pay-cycle estimates.

PayMood dashboard

Implementation

Shared earnings model

  • Used a common calculateWorkEarnings entry point for workday progress, remaining time and earnings estimates.
  • Based monthly calculations on scheduled hours in the current calendar month, with support for configured pay cycles.

Local preferences and dashboard

  • Stored work schedule, salary, currency and appearance preferences in browser storage.
  • Built responsive earnings views and companion-pet behaviour around the same work-state model.

Editor integration

  • Built a VS Code status-bar view and settings dashboard.
  • Imported the shared earnings helpers into the extension rather than implementing a second salary model.
Implementation highlights
  • Built daily work progress, remaining-time and estimated-earnings views, alongside weekly and monthly totals.
  • Shared the earnings calculation model between the website and VS Code extension.
  • Calculated monthly estimates from scheduled working time in the actual calendar month or configured pay cycle.
  • Stored browser preferences locally and added settings, theme controls and a small companion pet.

Result

Built a browser dashboard and VS Code extension that share schedule and earnings logic. The website and source repository are available through the project links.

Back to all projects