DTF Gangsheet Builder

Self-service print sheet builder with canvas auto-nesting, background removal, and automated fabrication file generation.

Built at a private employer. Details are sanitized; architecture and outcomes are described without proprietary identifiers.

Role
Full Stack Developer
Year
2026
Category
software-dev

About This Project

Engineered a wholesale customer-facing gangsheet builder for DTF and UV DTF transfer orders. Customers upload artwork, size quantities, auto-nest images on a growing sheet in the browser, and submit fabrication-ready orders without manual back-and-forth. The system persists orders to IBM i, generates high-resolution print files through an external compositing service, and supports reordering past submissions with print-file reuse when layouts are unchanged.

Technologies Used

JavaScriptPHPIBM DB2CloudinaryjQueryHTML CanvasLinux

Engineering Challenges

Browser-Based Nesting: Implemented rectangle-based 2D bin packing with rotation scoring, free-space splitting, and sheet height growth in 12-inch increments when images no longer fit, with live pricing refresh as layout changes.

Hybrid Print Pipeline: Kept pixel compositing on a Linux API while IBM i handled order persistence and business rules, including sync jobs for small orders and a background worker with status polling for large print files.

Preview vs Artwork Guardrails: Prevented full sheet previews and fabrication PDF URLs from being placed back on the canvas as customer artwork, avoiding corrupt layouts and invalid reorders.

Background Removal Flow: Integrated a manual erase/restore editor so edited PNG assets re-enter the same selected-images pipeline as uploads and library picks.

Technical Highlights

Placement Snapshots: Captured final canvas placements at submit, redrew without borders at print DPI, and sent structured placement data to the compositing API for PDF/PNG output.

Async Job Lifecycle: Queued print generation before an order existed, linked jobs after save, and handled worker completion whether it finished before or after the order record was written.

Draft Persistence: Stored full builder state in localStorage and serialized order JSON in DB2, including placements, DPI warnings, print metadata, and reorder flags for long-session recovery.

Reorder Optimization: Detected unchanged reorders and reused existing print files instead of triggering expensive regeneration.

Business Logic

Customer Self-Service: Wholesale buyers lay out gangsheets, choose DTF or UV DTF pricing, and submit orders with confirmation email and internal fabrication notification.

Production Handoff: Automated high-resolution print file generation replaced manual coordination between sales and the shop floor.

Repeat Orders: Past-order reload and print-file reuse reduced turnaround for repeat buyers and lowered compute cost on identical layouts.

Quality Guardrails: DPI and dimension warnings, plus page-break validation, caught bad artwork before compositing ran.