Own product

Print-on-Demand Operations Suite

Three tools of my own for order processing, catalog maintenance and shipping logistics at a print-on-demand retailer – built and operated under my own responsibility.

My own product development – not a client project in the classic sense.

Client
Print-on-Demand Retailer
Industry
E-Commerce & Print-on-Demand
Period
since 2018
Duration
8 years
Role
Product Development & Operations
Textile printing in a workshop

Context

I develop and operate three software tools of my own for order processing, catalog maintenance, and shipping logistics at a German print-on-demand retailer. The tools support a catalog of more than 1.6 million products on Amazon and eBay across Germany and Europe.

They grew out of concrete day-to-day workflows and continue to evolve in production. I am responsible for their architecture, development, and operation.

Challenge

Print-on-demand e-commerce involves thousands of individual orders each month, each with its own design, print specification, and shipping method. With more than 1.6 million products on Amazon and eBay—including T-shirts, sweatshirts, mugs, pillowcases, caps, mouse pads, and other textile products in dozens of sizes and variants—every manual step becomes a bottleneck.

The three main bottlenecks were:

  • Order processing: Every order requires a print file in the correct format and dimensions based on the product type, size, and printing process (direct-to-film), followed by invoicing and a DHL shipping CSV. This does not scale as a manual process.
  • Catalog maintenance: Titles, descriptions, prices, and attributes for more than 1.6 million active listings need regular updates. Amazon Seller Central is not designed for work at this scale.
  • Shipping data: DHL provides shipment data in a format that neither Amazon nor eBay can process directly. Daily manual conversion was time-consuming and prone to error.

Implementation

Three specialized tools form one connected operations pipeline:

DTF Order Automation

End-to-end processing of incoming Amazon and eBay orders. The system imports order data, identifies the product type and size from the SKU, generates precisely sized DTF print files at 300 DPI for each product category, creates A4 print layouts for non-DTF products such as mugs, produces PDF invoices, and generates DHL shipping CSVs with the correct billing numbers for merchandise mail, parcels, and international shipping.

The system is built with PHP and Symfony. Headless Chromium handles PDF generation. Product configuration—including dimensions, SKU patterns, and print parameters for each product type and size—is defined declaratively in YAML, so new product types can be added without code changes.

Amazon Listings Manager

A desktop application for maintaining an Amazon catalog. Retailers download catalog reports, edit them in a spreadsheet grid, and upload changes through the Selling Partner API. The Rust backend handles data-intensive reports with more than 100,000 rows.

Built with Tauri, Rust, React, and TypeScript. Cloudflare Workers provide automatic updates, while GitHub Actions builds cross-platform releases for Windows and Linux.

Shipping Data Converter

Automatic conversion of DHL shipping data into formats accepted by Amazon and eBay. Written in Go, the application is cross-platform, minimal, and ready to run without an additional runtime service. It removes a recurring manual task from daily fulfillment.

My contribution

This is not a conventional client project; it is my own product development. I am responsible for the architecture, development, and operation of all three tools. The long-term collaboration with the print-on-demand retailer provides the operational context: I understand the workflows, know the bottlenecks, and develop specifically around them.

For each tool, I selected the stack that fit the problem. PHP and Symfony handle order processing: reading orders, creating print files, and generating invoices and shipping data. Rust and Tauri support the data-intensive processing of large catalog reports. Go powers the shipping-data converter because a single executable with no additional runtime service was the appropriate solution.

The result is a set of three tools that have been used in daily operations for years and improved iteratively based on measurable efficiency gains.

Tech stack

PHP and Symfony process orders and documents, Rust and Tauri handle large catalog reports, and Go converts shipping data.

  • React
  • TypeScript
  • Rust
  • Tauri
  • Go
  • Chromium
  • SQLite
  • REST APIs
  • GitHub Actions
  • Cross-Platform
  • PHP
  • Symfony

Related services

Contact

Let's talk about your project.

Send me a short note about the task, the technical context and your planned timeframe. I'll get back to you personally.

Patrick Schaub

Software Architect & Full-Stack Engineer

You talk to me directly.