← All projects

Repair Shop Automation & Label Printing

Used in production

Added one-click labels, pre-filled forms and automated lookups to a repair shop's legacy inventory workflow.

Browser ExtensionJavaScriptPythonDockerInternal Tools

At a glance

  • Outcome: Added one-click asset labels, pre-filled forms and automated lookups to the shop’s daily repair workflow.
  • Status: Reached production and ran shop-wide for about six weeks. Use ended after the inventory vendor shipped every bookmarklet function natively.
  • Role: Built, rolled out and supported solo alongside my repair role, including support for non-technical coworkers.
  • Stack & libraries: JavaScript bookmarklets and a Manifest V3 extension (Chrome/Firefox), Python/Flask label service, Docker Compose, nginx.
  • Source: Private employer tooling. This page is the case study, with vendor and internal system names generalized.
  • Validation: Supported about 12 people printing 10–100 asset labels each per day for roughly six weeks.
  • Limitations: Worked as a stopgap around systems I did not control. The durable data work continues in Parts Intelligence.

Components

  • Added bookmarklets for label printing and new-asset forms. Pre-filled category, manufacturer, status, location and serial from per-user preferences despite two disagreeing internal ID systems.
  • Replaced the bookmarklets with a Chrome and Firefox Manifest V3 extension. Included inventory-app and Gmail content scripts, options and a safe build/live-mirror editing flow for non-developers.
  • Extracted the shelved Odoo print integration into Flask behind nginx in Docker Compose. Pillow rastered three layouts for a WiFi Brother QL-820NWBc: an asset tag, a portrait system label with full-width QR code and the original Brother P-touch .lbx legacy layout.
  • Retained Odoo print-queue polling. Added an Odoo client and a proxy/data layer for the API-less legacy inventory, Gmail and photo-documentation apps.

The original custom Odoo modules covered inventory and job workflows before being cut for scope and time. Nightly ingestion, reconciliation, deduplication, compatibility data and part identification continue in Parts Intelligence.