All projects

Enterprise Systems

EMP CAD

A 2D construction drafting program that runs in the browser and as a Windows desktop app from one codebase.

TypeScriptNuxt 4Three.jsTauri 2TurborepoVitestDXF / DWGSQLite

About the project

A CAD program for drawing construction plans, built from scratch for in-house use. It covers the tools drafters expect: layers, snapping, undo, offset/trim/extend/fillet, linetypes, hatching, a block library and quantity takeoff that feeds directly into a bill of quantities (BOQ). The code is a Turborepo monorepo. A pure-TypeScript core package holds the document model and geometry with unit tests and no DOM dependency. A Three.js renderer uses relative-to-eye rendering so large drawings stay precise, with correct line weights and Thai text. An I/O package handles the native format, DXF/DWG import and export, scaled printing to SVG/PDF, and Excel output. The same Nuxt app ships as a web app and, wrapped in Tauri 2, as a Windows .exe. The server version stores drawings with version history in SQLite. Users sign in with Active Directory or single sign-on from the company ERP. It runs on Ubuntu behind Caddy as a systemd service, with an update script that tests, builds, swaps the release and rolls back automatically if the new version doesn't come up.