commit 3b064f525511d70c4b19e36305421498576547e1
parent e23ef58aca7704e2089ffacbce1120bfdc8061fc
Author: notamitgamer-bot <bot@users.noreply.github.com>
Date: Thu, 1 Oct 2026 09:46:49 +0000
Add illustrated SVG banners to home page project cards
Diffstat:
7 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/images/cards/git-mirror.svg b/images/cards/git-mirror.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>git-mirror</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><g stroke="#FFFFFF"><path d="M220 80V240" /><path d="M220 186C262 186 290 166 290 136"/><circle cx="220" cy="80" r="15" fill="#052B28"/><circle cx="220" cy="160" r="15" fill="#052B28"/><circle cx="220" cy="240" r="15" fill="#052B28"/><circle cx="290" cy="122" r="15" fill="#052B28"/></g><path d="M340 56V264" stroke="#FFFFFF" stroke-opacity=".45" stroke-dasharray="6 14"/><g transform="translate(680 0) scale(-1 1)" stroke="#2DD4BF" opacity=".85"><path d="M220 80V240" /><path d="M220 186C262 186 290 166 290 136"/><circle cx="220" cy="80" r="15" fill="#052B28"/><circle cx="220" cy="160" r="15" fill="#052B28"/><circle cx="220" cy="240" r="15" fill="#052B28"/><circle cx="290" cy="122" r="15" fill="#052B28"/></g></g></svg>
+\ No newline at end of file
diff --git a/images/cards/githrun.svg b/images/cards/githrun.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>githrun</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><rect x="150" y="62" width="340" height="196" rx="20" stroke="#FFFFFF" fill="#fff" fill-opacity=".06"/><path d="M150 108H490" stroke="#FFFFFF"/><circle cx="180" cy="86" r="6" fill="#FBBF24" stroke="none"/><circle cx="204" cy="86" r="6" fill="#2DD4BF" stroke="none"/><circle cx="228" cy="86" r="6" fill="#FFFFFF" stroke="none"/><path d="M186 140L214 162L186 184" stroke="#2DD4BF" stroke-width="10"/><path d="M236 162H340" stroke="#FFFFFF"/><path d="M186 216H300M186 238H256" stroke="#2DD4BF" opacity=".55"/><path d="M404 196L404 236L440 216Z" fill="#FBBF24" stroke="#FBBF24"/></g></svg>
+\ No newline at end of file
diff --git a/images/cards/mojic.svg b/images/cards/mojic.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>mojic</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><g opacity="0.7"><circle cx="150" cy="112" r="28" stroke="#2DD4BF" stroke-width="6"/><circle cx="141" cy="108" r="2.8" fill="#2DD4BF" stroke="none"/><circle cx="159" cy="108" r="2.8" fill="#2DD4BF" stroke="none"/><path d="M141 120Q150 130 159 120" stroke="#2DD4BF" stroke-width="6"/></g><g opacity="0.8"><circle cx="494" cy="214" r="28" stroke="#FBBF24" stroke-width="6"/><circle cx="485" cy="210" r="2.8" fill="#FBBF24" stroke="none"/><circle cx="503" cy="210" r="2.8" fill="#FBBF24" stroke="none"/><path d="M485 222Q494 232 503 222" stroke="#FBBF24" stroke-width="6"/></g><path d="M266 142V108A54 54 0 0 1 374 108V142" stroke="#FFFFFF"/><rect x="226" y="142" width="188" height="120" rx="18" stroke="#FFFFFF" fill="#fff" fill-opacity=".08"/><g opacity="1"><circle cx="320" cy="202" r="40" stroke="#2DD4BF" stroke-width="8"/><circle cx="307" cy="196" r="4.0" fill="#2DD4BF" stroke="none"/><circle cx="333" cy="196" r="4.0" fill="#2DD4BF" stroke="none"/><path d="M307 214Q320 228 333 214" stroke="#2DD4BF" stroke-width="8"/></g></g></svg>
+\ No newline at end of file
diff --git a/images/cards/osma.svg b/images/cards/osma.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>osma</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><path d="M270 70L338 110V190L270 230L202 190V110Z" stroke="#FFFFFF" fill="#fff" fill-opacity=".06"/><path d="M270 150L202 110M270 150L338 110M270 150V230" stroke="#FFFFFF"/><circle cx="394" cy="186" r="40" stroke="#2DD4BF" fill="#052B28" fill-opacity=".7" stroke-width="10"/><path d="M424 216L462 254" stroke="#FBBF24" stroke-width="12"/><path d="M376 186H412M394 168V204" stroke="#2DD4BF" stroke-width="6" opacity=".7"/></g></svg>
+\ No newline at end of file
diff --git a/images/cards/veyrix.svg b/images/cards/veyrix.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>veyrix</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><rect x="140" y="58" width="360" height="204" rx="20" stroke="#FFFFFF" fill="#fff" fill-opacity=".06"/><path d="M140 106H500" stroke="#FFFFFF"/><rect x="160" y="74" width="76" height="18" rx="9" fill="#2DD4BF" stroke="none"/><circle cx="470" cy="83" r="6" fill="#FBBF24" stroke="none"/><circle cx="450" cy="83" r="6" fill="#FFFFFF" stroke="none"/><path d="M252 152L216 184L252 216" stroke="#2DD4BF" stroke-width="12"/><path d="M388 152L424 184L388 216" stroke="#2DD4BF" stroke-width="12"/><path d="M344 140L296 228" stroke="#FFFFFF" stroke-width="12"/></g></svg>
+\ No newline at end of file
diff --git a/images/cards/whatsapp-logger.svg b/images/cards/whatsapp-logger.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 320" role="img"><title>whatsapp-logger</title><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#052B28"/><stop offset="1" stop-color="#0F766E"/></linearGradient><pattern id="p" width="32" height="32" patternUnits="userSpaceOnUse"><path d="M32 0H0V32" fill="none" stroke="#fff" stroke-opacity=".07" stroke-width="2"/></pattern></defs><rect width="640" height="320" fill="url(#g)"/><rect width="640" height="320" fill="url(#p)"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="8"><rect x="150" y="66" width="190" height="84" rx="22" stroke="#FFFFFF" fill="#fff" fill-opacity=".06"/><path d="M178 150L164 184L206 150" stroke="#FFFFFF"/><path d="M178 98H290M178 122H252" stroke="#2DD4BF"/><rect x="310" y="150" width="190" height="84" rx="22" stroke="#2DD4BF" stroke-dasharray="14 12"/><path d="M470 234L486 266L440 234" stroke="#2DD4BF"/><path d="M338 182H440M338 206H402" stroke="#2DD4BF" opacity=".6"/><circle cx="500" cy="150" r="20" fill="#FBBF24" stroke="none"/><path d="M493 143L507 157M507 143L493 157" stroke="#052B28" stroke-width="6"/></g></svg>
+\ No newline at end of file
diff --git a/index.mdx b/index.mdx
@@ -6,22 +6,22 @@ description: "Centralized documentation for Amit's projects. Pick one below to g
---
<CardGroup cols={2}>
- <Card title="WhatsApp Logger" icon="messages-square" href="/whatsapp-logger">
+ <Card title="WhatsApp Logger" icon="messages-square" href="/whatsapp-logger" img="/images/cards/whatsapp-logger.svg">
Privacy-focused, self-hosted WhatsApp archiving tool. Captures messages, including deleted ones, via a linked device connection and stores them in your own Firebase database.
</Card>
- <Card title="Git Mirror" icon="git-fork" href="/git-mirror">
+ <Card title="Git Mirror" icon="git-fork" href="/git-mirror" img="/images/cards/git-mirror.svg">
Automated setup that generates a fast, static HTML mirror of your public GitHub repositories using `stagit` and GitHub Actions.
</Card>
- <Card title="Mojic" icon="lock" href="/mojic">
+ <Card title="Mojic" icon="lock" href="/mojic" img="/images/cards/mojic.svg">
CLI tool that obfuscates C source code into a randomized, password-seeded stream of emojis, using an AES-256-CTR PRNG and HMAC-sealed integrity checks. Discontinued: install from source.
</Card>
- <Card title="Githrun" icon="terminal" href="/githrun">
+ <Card title="Githrun" icon="terminal" href="/githrun" img="/images/cards/githrun.svg">
CLI tool and VS Code extension for executing, exploring, and installing Python scripts directly from GitHub and Gists, with dependency handling and private repo support.
</Card>
- <Card title="Veyrix IDE" icon="app-window" href="/veyrix">
+ <Card title="Veyrix IDE" icon="app-window" href="/veyrix" img="/images/cards/veyrix.svg">
Offline-first, privacy-focused PWA code editor that runs entirely in the browser, with local IndexedDB storage, snapshot version history, and dual sharing mechanics.
</Card>
- <Card title="OSMA" icon="package" href="/osma">
+ <Card title="OSMA" icon="package" href="/osma" img="/images/cards/osma.svg">
Lightning-fast, static search archive for querying NPM and PyPI packages, bypassing live registry bottlenecks with frozen snapshots and a FastAPI + SQLite backend.
</Card>
</CardGroup>