Sanyakorn Chaiphiphatworakul
All work

In production

Payroll and HR requests

Imports payroll files, emails password-protected PDF payslips to staff, and handles leave, compensatory leave, holiday work and shift-swap requests.

Period
2025 – 2026
Role
Co-developer
Used by
HR

The problem

Payslips came from a Windows-only report renderer, and getting them to each employee took a lot of manual work.

What I built

Co-built the system where HR imports the payroll CSVs, reviews them before confirming, and a background worker renders Thai payslips, encrypts them and emails them from a queue, plus all the HR request consoles.

Key features

  • Two-step CSV import with a per-employee preview before confirming
  • Import history and activity log
  • Payslip email console: stage a month, reset failed sends
  • Consoles for leave, holiday work, shift swaps and compensatory leave
  • Excel export everywhere
  • Company SSO sign-in

Under the hood

  • Ported the old payslip layout to SkiaSharp centimetre for centimetre, with HarfBuzz shaping so Thai tone marks sit correctly
  • Database email queue with leases, a concurrency cap, a per-minute rate limit, backoff, and manual reset after max attempts
  • Deploy workflow that detects new migrations, waits for native DLL locks to clear, then probes a health endpoint