Project Overview

Social graphics are often rebuilt from the previous campaign. That works until a font changes, copy grows, or individual slides no longer align across a carousel.

I built a cross-platform editor where structured content, brand configuration, templates, validation, rendering, and export have separate responsibilities.

A cross-platform desktop pipeline that turns structured content and brand rules into deterministic carousels, posts, and highlight graphics.

Industry

Content Tools

Services

  • UX/UI Design
  • Web Development
  • Product Strategy

Key Deliverables

  • Responsive Design
  • Custom Development
  • User Experience Improvements

Platform Type

Desktop Tool

Tech Stack

  • Python
  • FastAPI
  • Playwright
  • PyWebView
  • Pillow

The Challenge

A reusable graphics tool must preserve a brand system without forcing every campaign into the same composition. It also needs to handle Serbian and German glyphs, variable-length copy, safe zones, image contrast, and portable font assets.

Preview and export cannot use separate rendering paths. Otherwise the approved design and final PNGs eventually diverge.

Approach

Markdown and configuration feed a deterministic planner. Jinja2 composes an HTML/CSS canvas, FastAPI serves the local UI, and PyWebView packages it as a desktop workflow.

The carousel is rendered as one wide continuous canvas. Playwright captures it at high resolution, then Pillow downsamples and slices it into exact slide dimensions so backgrounds and decorations can cross slide boundaries cleanly.

The Solution

The editor supports carousels, feed posts, and highlight covers with project-level overrides. Live preview and final export both use the same canvas.html renderer.

QA checks inspect text fit, safe zones, font portability, and glyph coverage for Serbian and German characters. FontTools supports font inspection, while PyYAML keeps brand and project configuration readable. Image generation is intentionally outside the renderer: the tool creates a prompt pack and accepts approved assets through an inbox workflow.

Key Challenges

  • keeping visual continuity across independently delivered carousel slides

  • fitting variable copy without silently breaking hierarchy or safe zones

  • producing consistent output across desktop environments and fonts

  • separating creative asset generation from deterministic brand rendering

The Outcome

The result is a repeatable production pipeline that shortens routine design work while making layout, typography, and export quality measurable. Creative direction stays editable; rendering and QA stay deterministic.

Context

The long-canvas model is the key decision: one composition is reviewed once, then exported into multiple precise deliverables.

Other projects with related architecture decisions, platforms, or product challenges.