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.
