diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..e67ee623f
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "assets/branding"]
+ path = assets/branding
+ url = https://iceshrimp.dev/iceshrimp/branding.git
diff --git a/assets/branding b/assets/branding
new file mode 160000
index 000000000..1c4e96bcf
--- /dev/null
+++ b/assets/branding
@@ -0,0 +1 @@
+Subproject commit 1c4e96bcfe61c981a1e8f23142082ac8ce7fc575
diff --git a/assets/generate.sh b/assets/generate.sh
new file mode 100755
index 000000000..473a0bd3f
--- /dev/null
+++ b/assets/generate.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Dependencies: imagick/convert, inkscape
+# Be sure to check out the submodule before running this
+crop=branding/prepared/svg-crop
+svg=branding/prepared/svg
+png=branding/prepared/png
+cd "${0%/*}"
+
+# General assets
+convert -background "#3B364C" -resize 1600x "$svg/full-light.svg" "logo.png"
+
+# Client assets
+cp "$crop/wordmark-white.svg" "../packages/client/assets/welcome-logo.svg"
+convert -background "#E7EDFF" -resize 1024x "$svg/full-dark.svg" "../packages/client/assets/about-icon-dark.png"
+convert -background "#3B364C" -resize 1024x "$svg/full-light.svg" "../packages/client/assets/about-icon-light.png"
+
+# Backend assets
+convert -background "#E7EDFF" -resize 1024x "$svg/full-dark.svg" "../packages/backend/assets/api-doc.png"
+convert -background "#E7EDFF" -resize 1024x "$svg/wordmark-dark.svg" "../packages/backend/assets/mail-wordmark.png"
+convert -background "#3B364C" -resize x750 -gravity center -extent 1024x1024 "$crop/logo-light.svg" "../packages/backend/assets/apple-touch-icon.png"
+convert -background "#3B364C" -resize x192 -gravity center -extent 192x192 "$svg/logo-light.svg" "../packages/backend/assets/icons/192.png"
+convert -background "#3B364C" -resize x512 -gravity center -extent 512x512 "$svg/logo-light.svg" "../packages/backend/assets/icons/512.png"
+convert -background "#3B364C" -resize x480 -gravity center -extent 512x512 "$svg/logo-light.svg" "../packages/backend/assets/icons/maskable.png"
+convert -background none -resize x512 -gravity center -extent 512x512 "$crop/logo-black.svg" "../packages/backend/assets/icons/monochrome.png"
+convert \( -background "#3B364C" -resize x750 -gravity center -extent 1024x1024 "$crop/logo-light.svg" \) \( -size 1024x1024 xc:black -fill white -draw "roundRectangle 0,0,1024,1024 128,128" \) -alpha Off -compose CopyOpacity -composite "../packages/backend/assets/splash.png"
+convert \( -background "#3B364C" -resize x200 -gravity center -extent 256x256 "$crop/logo-light.svg" \) \( -size 256x256 xc:black -fill white -draw "roundRectangle 0,0,256,256 32,32" \) -alpha Off -compose CopyOpacity -composite "../packages/backend/assets/favicon.png"
+convert \( -background "#3B364C" -resize x200 -gravity center -extent 256x256 "$crop/logo-light.svg" \) \( -size 256x256 xc:black -fill white -draw "roundRectangle 0,0,256,256 32,32" \) -alpha Off -compose CopyOpacity -composite "../packages/backend/assets/favicon.ico"
diff --git a/assets/logo.png b/assets/logo.png
new file mode 100644
index 000000000..ec2b1115c
--- /dev/null
+++ b/assets/logo.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:30413bc6a5284ad4bf68f973b5787511130a83cb53003c686ba88f41935df3b2
+size 55577
diff --git a/custom/assets/badges/error.png b/custom/assets/badges/error.png
deleted file mode 100644
index b2fd48b23..000000000
--- a/custom/assets/badges/error.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:227326c64cce0cd93b18b0065c97bc4887b1a895f377382a32c3058c5375abd0
-size 58350
diff --git a/custom/assets/badges/info.png b/custom/assets/badges/info.png
deleted file mode 100644
index 10b1ef217..000000000
--- a/custom/assets/badges/info.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e7a4f2460b5ccbee9fab5bb93bc312125efd0eb1cd82cd56e5ecf0b4fc5d8ef7
-size 56191
diff --git a/custom/assets/badges/not-found.png b/custom/assets/badges/not-found.png
deleted file mode 100644
index eaf62f9e3..000000000
--- a/custom/assets/badges/not-found.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eb357df23841d87e0cda813bcaffe6152929c71703f8250206819fb0ed8ef1d8
-size 56874
diff --git a/iceshrimp.svg b/iceshrimp.svg
deleted file mode 100644
index f509cd5f2..000000000
--- a/iceshrimp.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3fa8d2eb99e3cc78664783e5241400716b7fb623a1c0608ef0125fab3a845b97
-size 7570
diff --git a/packages/backend/assets/api-doc.png b/packages/backend/assets/api-doc.png
index 34d822e5e..88ffb112d 100644
--- a/packages/backend/assets/api-doc.png
+++ b/packages/backend/assets/api-doc.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3084fb760c186e06f9c3a3d36e7540a9a93153f82e9617cbf17d4795ae3a56d3
-size 73089
+oid sha256:4800fe0eadfb361d0d99b8b3f7ee13afd287e24f1fc506237bb91f4c677acbc7
+size 29281
diff --git a/packages/backend/assets/apple-touch-icon.png b/packages/backend/assets/apple-touch-icon.png
index 6e718c823..d1cac351a 100644
--- a/packages/backend/assets/apple-touch-icon.png
+++ b/packages/backend/assets/apple-touch-icon.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9a9e0339451b2414bdf030d286b4fa281f0a1487d9603967d0b437aa29d13251
-size 170287
+oid sha256:b8a0bea2ef9092d90d71a3b342d3bdc91e30806bd162144580be36ffc0bd198d
+size 81462
diff --git a/packages/backend/assets/badges/error.png b/packages/backend/assets/badges/error.png
deleted file mode 100644
index b2fd48b23..000000000
--- a/packages/backend/assets/badges/error.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:227326c64cce0cd93b18b0065c97bc4887b1a895f377382a32c3058c5375abd0
-size 58350
diff --git a/packages/backend/assets/badges/info.png b/packages/backend/assets/badges/info.png
deleted file mode 100644
index 10b1ef217..000000000
--- a/packages/backend/assets/badges/info.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e7a4f2460b5ccbee9fab5bb93bc312125efd0eb1cd82cd56e5ecf0b4fc5d8ef7
-size 56191
diff --git a/packages/backend/assets/badges/not-found.png b/packages/backend/assets/badges/not-found.png
deleted file mode 100644
index eaf62f9e3..000000000
--- a/packages/backend/assets/badges/not-found.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eb357df23841d87e0cda813bcaffe6152929c71703f8250206819fb0ed8ef1d8
-size 56874
diff --git a/packages/backend/assets/favicon.ico b/packages/backend/assets/favicon.ico
index f0995b3ee..8515bbabc 100644
--- a/packages/backend/assets/favicon.ico
+++ b/packages/backend/assets/favicon.ico
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c33de1649bad3c24f59c0b08f2cd4b3813938252f5d752cb15726ca7a19d99bf
-size 269342
+oid sha256:6850c6efc848f9eb056e33c3451f3f64bdfa3241b8493ed28267f9f1a17e56c8
+size 11625
diff --git a/packages/backend/assets/favicon.png b/packages/backend/assets/favicon.png
index bfc37a2e8..9e61007f2 100644
--- a/packages/backend/assets/favicon.png
+++ b/packages/backend/assets/favicon.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a4d1deb574f4146a427c9b86aa3be8e5af3c7a9a7ff2495ca8aa1b0f9263c931
-size 1516
+oid sha256:a3d6e5464d6ab6eb8a91d8228545b4d80a4b93df6c03a439f533326b4c5fc928
+size 11892
diff --git a/packages/backend/assets/favicon.svg b/packages/backend/assets/favicon.svg
deleted file mode 100644
index f509cd5f2..000000000
--- a/packages/backend/assets/favicon.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3fa8d2eb99e3cc78664783e5241400716b7fb623a1c0608ef0125fab3a845b97
-size 7570
diff --git a/packages/backend/assets/icons/192.png b/packages/backend/assets/icons/192.png
index 6aea85ed0..26a6d84a9 100644
--- a/packages/backend/assets/icons/192.png
+++ b/packages/backend/assets/icons/192.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1c688aa91981e135a824d2aea8a43bbca954c78e09662bc9dafb821866def006
-size 8732
+oid sha256:b4c73f95238cc1b75fe51cd70a93c7989c1ed1195e9ea51eff39c81e396ad117
+size 6096
diff --git a/packages/backend/assets/icons/512.png b/packages/backend/assets/icons/512.png
index e67857049..88258254e 100644
--- a/packages/backend/assets/icons/512.png
+++ b/packages/backend/assets/icons/512.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:11f311de9e25eac10dddb214eedd512ad125cbf62774689845767e7d457c2a1f
-size 34096
+oid sha256:b42afd75ca07eef1ad4ecba313cc1156a20b30fe4bc85a54acb55c1c12fb5893
+size 23083
diff --git a/packages/backend/assets/icons/maskable.png b/packages/backend/assets/icons/maskable.png
index 28d747a24..0aa399f64 100644
--- a/packages/backend/assets/icons/maskable.png
+++ b/packages/backend/assets/icons/maskable.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a93d74dc288afe0b7fb3f626d6ebe4b60a71d1440545ca5a8dbcd9da982e350e
-size 17017
+oid sha256:d2c9107c73b24bad24a0fe252575613b7446f7c621d23bdc0a761dd51ea92472
+size 21656
diff --git a/packages/backend/assets/icons/monochrome.png b/packages/backend/assets/icons/monochrome.png
index f2066413d..f61670a69 100644
--- a/packages/backend/assets/icons/monochrome.png
+++ b/packages/backend/assets/icons/monochrome.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f113e3ef5671da9a5c63a0c6e602666d83d0b6214c7c4a8765821e1dae2c8b9e
-size 9001
+oid sha256:6a5149e416ce02d268a39d03963bed54fd3eb5079be874a04c87d9a9ac2e19fc
+size 17971
diff --git a/packages/backend/assets/mail-wordmark.png b/packages/backend/assets/mail-wordmark.png
new file mode 100644
index 000000000..f6eb49239
--- /dev/null
+++ b/packages/backend/assets/mail-wordmark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d1828d70668ff03f0412fbd149323abad74320e3b4452322ca53b051a21cbd7
+size 26995
diff --git a/packages/backend/assets/mi-white.png b/packages/backend/assets/mi-white.png
deleted file mode 100644
index 25a673f94..000000000
--- a/packages/backend/assets/mi-white.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:87e2df1cd81c2507126a6fb7c20545f7733d278451a7a08f671cc593f3cc0c1d
-size 5607
diff --git a/packages/backend/assets/splash.png b/packages/backend/assets/splash.png
index 1b668d046..3c4e274aa 100644
--- a/packages/backend/assets/splash.png
+++ b/packages/backend/assets/splash.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:98ab5d04d4679f546f9efffd0d63887db64865a6d152c28f5e6268c7ae2418ad
-size 431866
+oid sha256:7d34508152004efc7780cc335929d5e7bd484e7e4b33c085703010ab77931e5c
+size 85320
diff --git a/packages/backend/assets/splash.svg b/packages/backend/assets/splash.svg
deleted file mode 100644
index 5e66d76cb..000000000
--- a/packages/backend/assets/splash.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9c8e266796268db21997cf1b548bd5e4062dcb224fa933045b5176136fcc170e
-size 5122
diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug
index 17f92d9f9..1e9e97ed3 100644
--- a/packages/backend/src/server/web/views/base.pug
+++ b/packages/backend/src/server/web/views/base.pug
@@ -71,7 +71,7 @@ html
br
| Please turn on your JavaScript
div#splash
- img#splashIcon(src= splashIcon || `/static-assets/splash.svg?${ timestamp }`)
+ img#splashIcon(src= splashIcon || `/static-assets/splash.png?${ timestamp }`)
span#splashText
block randomMOTD
= randomMOTD
diff --git a/packages/backend/src/services/send-email.ts b/packages/backend/src/services/send-email.ts
index bdd137f5b..e2e086a12 100644
--- a/packages/backend/src/services/send-email.ts
+++ b/packages/backend/src/services/send-email.ts
@@ -13,7 +13,7 @@ export async function sendEmail(
) {
const meta = await fetchMeta(true);
- const iconUrl = `${config.url}/static-assets/mi-white.png`;
+ const iconUrl = `${config.url}/static-assets/mail-wordmark.png`;
const emailSettingUrl = `${config.url}/settings/email`;
const enableAuth = meta.smtpUser != null && meta.smtpUser !== "";
diff --git a/packages/client/assets/about-icon-dark.png b/packages/client/assets/about-icon-dark.png
new file mode 100644
index 000000000..c4203eaa6
--- /dev/null
+++ b/packages/client/assets/about-icon-dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f48dea54b988520315b31ff0c21a5d51c385217dfc05e7cd5d3e1fa918e56a5
+size 29281
diff --git a/packages/client/assets/about-icon-light.png b/packages/client/assets/about-icon-light.png
new file mode 100644
index 000000000..1cd56f405
--- /dev/null
+++ b/packages/client/assets/about-icon-light.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4e9dde8bf223e26e6b6bcbb539a91258f5031728200c48bfce159fee597198c0
+size 29781
diff --git a/packages/client/assets/about-icon.png b/packages/client/assets/about-icon.png
deleted file mode 100644
index 4563a3162..000000000
--- a/packages/client/assets/about-icon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8ec0332dcf455416d4339eb2c5d3af22b2c4fa82380da688154654bb160ee70e
-size 34096
diff --git a/packages/client/assets/dummy_original.png b/packages/client/assets/dummy_original.png
deleted file mode 100644
index f9c1b2f05..000000000
--- a/packages/client/assets/dummy_original.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b706b7bc2b77a01be166d8295b962263bce583bc4c24a8905ff52b090dddd766
-size 69675
diff --git a/packages/client/assets/misskey.svg b/packages/client/assets/misskey.svg
deleted file mode 100644
index 29f59b355..000000000
--- a/packages/client/assets/misskey.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f93229b86df6c16d81b6b17c12f0bdbc5181a6abcfbfc479163ad7062c98178c
-size 7395
diff --git a/packages/client/assets/welcome-logo.svg b/packages/client/assets/welcome-logo.svg
new file mode 100644
index 000000000..5d0db7e12
--- /dev/null
+++ b/packages/client/assets/welcome-logo.svg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:992255e998fee3987b2c0a691bdcee9f7e3ddf223feaa874b084ad163104f314
+size 8097
diff --git a/packages/client/src/pages/about-iceshrimp.vue b/packages/client/src/pages/about-iceshrimp.vue
index b41f47825..cb84d7919 100644
--- a/packages/client/src/pages/about-iceshrimp.vue
+++ b/packages/client/src/pages/about-iceshrimp.vue
@@ -14,13 +14,23 @@
:class="{ playing: easterEggEngine != null }"
>
+