Separate reusable drawing rules and services from the browser client.
Why: Domain behavior can be unit tested without coupling it to Razor components.
Tradeoff: The UI and library must maintain explicit models and service contracts.
Create consistent engineering drawing numbers and expose belt/image templates through a browser experience.
Habasit America · Sep 2024–May 2025 · CAD Drafter / Engineering Software Developer
Special-build drawing requests required structured product choices, deterministic identifiers, search-before-create behavior, deciphering, and packet preparation within a constrained engineering workflow.
Owns guided data entry, visual selection, search, request, deciphering, and print-oriented user workflows.
The repository shows a separated WebAssembly client and domain library, deterministic rule services, generated visual catalogs, and unit plus responsive browser gates—not a static mockup.
Why: Domain behavior can be unit tested without coupling it to Razor components.
Tradeoff: The UI and library must maintain explicit models and service contracts.
Why: The client receives a deterministic inventory of approved visual selections without runtime directory scanning.
Tradeoff: Catalog changes require a build to refresh the generated index.
Thomas created the present-day reconstruction from his historical workflow knowledge. It demonstrates the system logic without publishing employer product rules, identifiers, drawings, or private source.
Confidence: High / Medium. This portfolio distinguishes delivered applications, supporting components, tests, libraries, utilities, and repository containers.
The implementation summary was derived from reviewed solution files, project or package manifests, architecture documentation, and test surfaces. Private locators, source code, secrets, and proprietary rules are not published.
The public record summarizes application purpose and composition. Private paths, source, customer data, proprietary rules, and restricted artifacts are not published.
These records show adjacent applications, services, libraries, tests, or delivery components.
Separate numbering and UI-independent behavior from the browser client.