Python Graphics Automation

A Python automation pipeline for Inkscape and Blender that turns structured input into formatted assets, saving repetitive layout/export time and preventing manual drift.

Context

Once a good template exists, most “design work” becomes mechanical. Spacing tweaks, alignment fixes, batch exports, file naming, resizing for platforms, and last-minute text edits are the parts that quietly consume hours and introduce inconsistencies.

The cost is not only time. Manual editing introduces drift. A template that looked clean at asset five slowly loses consistency by asset fifty, and the rework shows up late when it is most annoying.

I wanted a system where a template is a specification and the output is deterministic. If the inputs are the same, the assets are the same. That makes iteration cheaper and quality more reliable.

Discovery

The insight came from repetition rather than a single breakthrough. Every time I produced a batch, the same failures appeared:

  • Layout work was the time sink. The creative decision happened early. The rest was moving boxes, fixing line breaks, and exporting variants.
  • Manual workflows created silent inconsistency. Small changes accumulated. Fonts drifted, spacing shifted, naming conventions broke, and exports became unreliable.
  • The real bottleneck was operations, not tooling. The process needed rules and guardrails more than new design features.

That pushed me toward building a pipeline that enforces a repeatable set of constraints, rather than a collection of scripts that only work for one template.

What I decided to build (and why)

I treated graphics like production, not one-off art. The core idea was to separate content from layout and make exports a planned operation.

  • Structured input: A defined schema for text, numbers, labels, and variants so content can be batch processed without manual cleanup.
  • Template rules: Inkscape and Blender templates that behave like systems, with clear placement logic, typography constraints, and consistent styling.
  • Export manifests: A single source of truth describing which sizes, formats, and filenames should be generated for a batch.
  • Guardrails: Validation for missing fields, overflow, invalid characters, and unsafe layout states so failures are caught before export.

The goal was to scale from five assets to one hundred without losing quality. The output should look like one system made it, not ten different sessions by accident.

Rejected alternatives

  • Manual work Flexible and familiar, but it does not scale. Time cost grows linearly and inconsistency grows quietly.
  • Canva Fast for single assets, but not structured for deterministic batch production with strict template rules and manifests.
  • Paid automation tools Tempting, but introduces cost, vendor dependency, and less control over edge cases like overflow behaviour and naming logic.

What shipped

  • Structured input approach with a defined schema for batch content
  • Template-driven system for Inkscape and Blender that enforces consistent layout and styling rules
  • Export automation that generates multiple sizes and formats from one manifest
  • Output naming and folder conventions so assets are traceable and easy to publish
  • Guardrails for missing fields, overflow, and invalid input states to prevent broken exports

Analytics: Events

  • Time per asset Measures how much manual layout and export effort the pipeline removes. The goal is to compress production time without lowering quality.
  • Batch throughput Measures how performance changes as the batch grows from a few assets to dozens. This validates that the workflow scales rather than collapsing under volume.
  • Rework rate Measures how often assets require a second pass due to overflow, misalignment, missing fields, or naming issues. Lower rework is the real win because it prevents long-tail cleanup.

Core artifacts

  • Input schema Defines allowed fields and validation rules so batches are predictable and failures are caught early.
  • Output manifest Defines which formats, sizes, variants, and filenames are produced so exports are deterministic and easy to publish.

AI usage

AI helped me write runbooks for the pipeline, generate edge-case datasets to stress test overflow and missing-field behaviour, and sanity-check layout rules against the constraints I cared about. It also helped draft checklists for regressions when templates change.

Next steps

  • More templates for additional content formats and use cases
  • Auto-resizing rules tuned per platform so text and spacing adapt cleanly across aspect ratios
  • Localisation support including longer strings and language-specific typography constraints
  • Stronger preview tooling so batches can be reviewed quickly before final export
Other projects

VPS Platform

A small VPS platform to run heavy pipelines and deployment tasks reliably and cheaply without depending on many managed services.

Valentine's Maze Game

A small maze puzzle game built in Next.js as a fast, polished two-day build to prove execution and shipping speed.

EBA Homework Accountability

EBA Homework Accountability is a simplified homework workflow for parents, children, and tutors, designed so parents can quickly see what’s assigned and what’s done, and tutors can assign work without constantly rewriting links and instructions.