diff --git a/core/installer/app.go b/core/installer/app.go
index 85f1cba..6312e8b 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -131,6 +131,7 @@
 		CreateAppVaultwarden(valuesTmpls, tmpls),
 		CreateAppMatrix(valuesTmpls, tmpls),
 		CreateAppPihole(valuesTmpls, tmpls),
+		CreateAppPenpot(valuesTmpls, tmpls),
 		CreateAppMaddy(valuesTmpls, tmpls),
 		CreateAppQBittorrent(valuesTmpls, tmpls),
 		CreateAppJellyfin(valuesTmpls, tmpls),
@@ -268,6 +269,27 @@
 	}
 }
 
+func CreateAppPenpot(fs embed.FS, tmpls *template.Template) StoreApp {
+	schema, err := fs.ReadFile("values-tmpl/penpot.jsonschema")
+	if err != nil {
+		panic(err)
+	}
+	return StoreApp{
+		App{
+			"penpot",
+			[]string{"app-penpot"},
+			[]*template.Template{
+				tmpls.Lookup("penpot.yaml"),
+			},
+			string(schema),
+			tmpls.Lookup("penpot.md"),
+		},
+		// "simple-icons:pihole",
+		`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M7.654 0L5.13 3.554v2.01L2.934 6.608l-.02-.009v13.109l8.563 4.045L12 24l.523-.247l8.563-4.045V6.6l-.017.008l-2.196-1.045V3.555l-.077-.108L16.349.001l-2.524 3.554v.004L11.989.973l-1.823 2.566l-.065-.091zm.447 2.065l.976 1.374H6.232l.964-1.358zm8.694 0l.976 1.374h-2.845l.965-1.358zm-4.36.971l.976 1.375h-2.845l.965-1.359zM5.962 4.132h1.35v4.544l-1.35-.638Zm2.042 0h1.343v5.506l-1.343-.635zm6.652 0h1.35V9l-1.35.637zm2.042 0h1.343v3.905l-1.343.634zm-6.402.972h1.35v5.62l-1.35-.638zm2.042 0h1.343v4.993l-1.343.634zm6.534 1.493l1.188.486l-1.188.561zM5.13 6.6v1.047l-1.187-.561ZM3.96 8.251l7.517 3.55v10.795l-7.516-3.55zm16.08 0v10.794l-7.517 3.55V11.802z"/></svg>`,
+		"Penpot is the first Open Source design and prototyping platform meant for cross-domain teams. Non dependent on operating systems, Penpot is web based and works with open standards (SVG). Penpot invites designers all over the world to fall in love with open source while getting developers excited about the design process in return.",
+	}
+}
+
 func CreateAppMaddy(fs embed.FS, tmpls *template.Template) StoreApp {
 	schema, err := fs.ReadFile("values-tmpl/maddy.jsonschema")
 	if err != nil {
