Sanyakorn Chaiphiphatworakul
All work

In production

HACCP hazard analysis

Replaces a long Excel document: each ingredient or step is stored once and reused across products, with a risk matrix and Excel/PDF export in the original layout.

Period
2024 – 2026
Role
Sole developer
Used by
QA and food safety

The problem

HACCP hazard-analysis documents were maintained by hand in Excel and Word, with the same ingredient data retyped in many product documents.

What I built

Started as a 2024 MVC app and rewritten in 2026 on .NET 10 + React: a reusable hazard library composed into per-product documents, with per-document overrides and exports that match the original form.

Key features

  • Hazard library: item → hazard groups → control measures, with Q1–Q4 and CCP
  • Per-product documents with document-only overrides
  • Excel export in the original layout, plus A4 PDF
  • Excel import shows new / unchanged / changed (field by field) before writing
  • Dashboard with a severity × likelihood matrix
  • Add/view/edit/delete permissions per menu

Under the hood

  • One code path builds Preview, Excel and PDF; overrides are stored as patches and risk is computed from the matrix, never stored
  • Re-imports keep existing IDs so overrides stay attached; control measures are de-duplicated by SHA-256 of normalised text
  • PDFs render through Playwright on the installed Edge, and a test fails if any controller lacks its permission check