Skip to content
// SELECTED WORK
03 / FREELANCE · 2024

Inkspire

A print house ran on paper job-bags — order details printed and physically carried from station to station, with no live overview and no error trail.

// SYSTEM
PDFLector order PDFspdfplumber + regex
EMAILInbound enquiriesGPT qualification
// DIGITAL JOB-BAGOne order model
// PRODUCTION FLOW
  1. Vertrieb
  2. After Sales
  3. Grafik
  4. Druck
  5. Weiterverarbeitung
  6. Versand
Inkspire system diagram: printed order PDFs (parsed with pdfplumber) and inbound enquiry emails (qualified with GPT) converge into one digital job-bag, which flows across six production stations from Vertrieb to Versand.

// THE PROBLEM

Druckerei Eberwein, a print house running since 1933, managed every order on a printed paper 'Auftragstasche' that moved by hand through sales, graphics, print, finishing, and shipping. Status lived in people's heads; mistakes surfaced late. I built Inkspire to replace the paper bag with a digital one — a Kanban board across every production station, where each order is a live, assignable card instead of a sheet on a clipboard.

// WHAT I BUILT

  1. 01

    A Kanban production board across the shop's six stations (Vertrieb, After Sales, Grafik, Druck, Weiterverarbeitung, Verpackung/Versand) — every order a live card you click to open its digital job-bag.

  2. 02

    Digital job-bags carrying order details, materials, live status, the assigned employee, notes, and attachments, handed station to station with automatic notifications on each handover.

  3. 03

    A Python (pdfplumber) parser that ingests the shop's printed order PDFs and turns them into structured digital orders — no re-keying.

  4. 04

    GPT-based qualification of inbound email enquiries: the message body is parsed into a fixed order shape, and missing fields trigger an automatic follow-up to the customer, with an agent alert if no reply lands in time.

  5. 05

    Role-based access (production / clerk / sales / admin) and UPS shipping-label generation at the packing station, with weight entered on the spot and address data pulled from the job-bag.

// THE INTERESTING PART

The hard part was meeting the shop where it already was. Orders are produced as printed PDFs out of their existing Lector software, so instead of forcing a new data-entry step, I wrote a Python pdfplumber + regex parser that reads those PDFs directly — pulling order number, customer, dates, delivery address, and each line item (distinguishing pre-calculated from manual positions) into structured JSON that becomes the digital job-bag. A second pipeline runs GPT over inbound enquiry emails to qualify them into the same shape. Two messy real-world inputs, one clean order model.

// OUTCOME

// IMPACT

In daily production at the print house — around 10 staff run it every day, handling roughly 900–1,200 orders a year. The first concrete step in digitizing a shop that had run on paper since 1933.

// STACK

React + Express + MongoDB, OpenAI GPT for email qualification, a Python (pdfplumber) PDF parser, UPS API for shipping labels, role-based auth.