penpot

Penpot: The open-source design tool for design and code collaboration

21 articles 46.9k View on GitHub ↗
21 articles
How the Penpot Backend Configures the Integrant Dependency Injection System

Discover how Penpot's backend configures the Integrant dependency injection system. Learn about its three-stage pipeline for database pools, HTTP servers, and background workers. Master Penpot's architecture.

internals
Apr 28, 2026
How Penpot Implements Feature Flags Using the flags.cljc Module

Discover how Penpot implements feature flags with the flags.cljc module. Learn about Clojure sets dynamic vars and a parse DSL for managing application features efficiently.

internals
Apr 28, 2026
How Penpot's Audit Logging System Tracks User Actions

Learn how Penpot's audit logging system tracks user actions. Discover how Penpot captures operations, enriches them with metadata, and stores them for comprehensive tracking.

internals
Apr 28, 2026
How the Penpot Undo/Redo System Works: Deep Dive into the Undo-Stack Data Structure

Explore Penpot's robust undo redo system. Discover how its immutable vector stack and cursor index efficiently manage history, prevent memory issues, and ensure a smooth user experience.

deep-dive
Apr 28, 2026
How to Manage Components and Variants in Penpot Design Libraries: A Technical Guide

Learn to manage Penpot design libraries components and variants. Discover how Penpot uses UUID-keyed maps and automatic sync for efficient design asset management.

how-to-guide
Apr 28, 2026
How the Font Handling System Works in Penpot's Render-WASM Module

Explore Penpot's render wasm module font handling. Learn how Skia registers, stores, and resolves fonts for seamless paragraph layout using WebAssembly and FontCollection.

internals
Apr 28, 2026
How Penpot Configures and Triggers Webhooks for External Integrations

Learn how Penpot configures and triggers webhooks for external integrations using its robust three layer architecture for reliable delivery.

how-to-guide
Apr 28, 2026
How Pen pot Builds Database Queries with the next.jdbc Wrapper: Architecture and Implementation

Discover how Penpot's backend builds database queries using a custom next.jdbc wrapper for efficient SQL generation and PostgreSQL integration. Learn about its architecture and implementation.

architecture
Apr 28, 2026
How the Penpot Exporter Module Uses Playwright for Headless Export

Discover how the Penpot exporter module leverages Playwright for headless export, rendering design files to PNG, JPEG, SVG, and more through isolated browser contexts.

internals
Apr 28, 2026
How Flex and Grid Layouts Are Computed in Penpot’s Geometry Module

Discover how Penpot computes flex and grid layouts through an 11-step pipeline. Learn about bounds, tracks, space distribution, alignment, and transform modifiers for precise positioning.

internals
Apr 28, 2026
How the Penpot Common Module Uses Reader Conditionals for Cross‑Platform Code

Discover how Penpot's common module uses reader conditionals for cross-platform code. Learn to share JVM and JavaScript sources with platform-specific implementations.

internals
Apr 28, 2026
How Penpot Generates SVG, CSS, and HTML Code Exports in Inspect Mode

Discover how Penpot generates SVG, CSS, and HTML code exports using inspect mode. Learn about the process of traversing shape trees and transforming models into client-side code.

internals
Apr 28, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →