




The real app running with invented demo data; no real customers, staff or figures are shown.
My role
- I designed and built the whole system alone: the data model, the Go backend, the web app and the deployment.
- I worked directly with the owner and the accountant, turning how the factory really works into rules in the system, and kept shipping their requests after launch.
Approach
- Every production run takes its raw materials and packaging out of stock, and its unit cost is built from what was actually used and produced, including a fair share of shared monthly costs.
- Purchases are stored at their full landed cost, so material costs stay accurate as prices change.
- New production waits in a quality-control hold before it can be sold; spoilage found there updates stock and costs automatically.
- Sales track delivery and payment separately, plus returns and sales commission, and everything feeds one profit and loss report.
- Staff check in and out with QR codes; the timesheet and payroll are calculated from attendance, shifts, bonuses and deductions.
- Products, materials, jar sizes and packaging are configured by the users, not hard-coded.
Architecture
Web app
Next.jsResponsive UIQR scannerExcel export
Security
Keycloak loginRoles × 13 featuresRead / write levelsPer-user overrides
Go API
Permission checksValidationCost and payroll rulesUnit tests
Data
PostgreSQLNightly backupsSafe restoreNo public database port
Result
- Version 1.0 went live about six weeks after the first commit, and I kept shipping the accountant’s requests after launch.
- Management sees the cost of each jar, stock levels and monthly profit in one place.
- The system runs on the company’s own server; it is not reachable from the internet.
Stack
GoPostgreSQLKeycloakNext.jsReactTypeScriptTailwindDockerQR codesExcel export
Want the short version?
Everything on one or two pages, with contacts.
