PHCODESAGEBack to selected work

Case study 03 / Open source

Keep server-rendered apps beautiful.

Jinjalume is an HTML-first component kit for Flask and Jinja teams that want reusable UI without adopting a frontend SPA framework.

Jinjalume’s live component gallery.
Jinjalume’s live component gallery.
Role
Package design, component implementation, demo, and documentation
Stack
Python, Flask, Jinja, Tailwind CSS, HTML
Proof
Live component gallery and published Python package

Challenge

Server-rendered teams often need a dependable visual language, but a UI kit can become too tied to a JavaScript framework or too abstract to copy into a real template. Jinjalume needed to stay close to HTML and the way Flask and Jinja applications are actually built.

What I built

  • Jinja macros for buttons, badges, alerts, cards, inputs, textareas, avatars, spinners, and dialogs.
  • A Flask extension that makes the package templates available to an application.
  • A component reference with rendered examples, source inspection, and realistic auth/admin UI blocks.
  • Tailwind CSS v4 build setup, tests, contributor documentation, and a GitHub Actions release path.

Keep the integration close to HTML

Jinja macros provide reusable markup while the application keeps ownership of its templates and CSS. The Flask extension exposes the package templates, and the gallery pairs rendered examples with source so teams can inspect the integration before adopting it.

Result

Jinjalume gives Python teams a practical starting point: install the package, import a macro, and keep ownership of the surrounding HTML and CSS. The gallery makes the system easy to evaluate before bringing it into a Flask application.