From aedbe43679136fd760a76e1795d0a42c53110179 Mon Sep 17 00:00:00 2001 From: Conor Okus Date: Wed, 19 Aug 2026 20:55:20 -0400 Subject: [PATCH 1/2] Refresh the case studies grid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds four projects and drops five, so the page reflects who is actually building on LDK today. New entries: - Zeus, whose app embeds LDK Node (they maintain a fork of ldk-node and ship an ldknode/ layer in the wallet) - Megalith, a large routing node serving LSPS1 and LSPS2 inbound liquidity to mobile wallets - zinqq, a browser wallet running LDK compiled to WebAssembly - zinqq-kmp, its Kotlin Multiplatform client over UniFFI Removed AtomicLightningExchange, EttaWallet, Kumuly, kuutamo and uMlando, along with the three logo files that no longer had a referrer. Two dark-mode logo fixes while here. Alby Hub now uses the alby-logo-dark.png variant that already existed for the home page — its black center pin disappears against a dark card. Lightspark's mark is a single near-black path with no dark variant, so it gets an invertOnDark flag mirroring HomeCaseStudies.vue, rather than a duplicated white asset. The Zeus logo from zeusln.com carried a viewBox but no width/height, which collapsed it to zero width as a flex item and left the card's logo slot empty; the committed copy has intrinsic dimensions, matching the other SVG logos in public/img. Co-Authored-By: Claude Opus 5 --- .../theme/components/CaseStudiesPage.vue | 92 ++++++++++-------- docs/public/img/etta.png | Bin 2560 -> 0 bytes docs/public/img/kumuly.png | Bin 17541 -> 0 bytes docs/public/img/kuutamo.png | Bin 7145 -> 0 bytes docs/public/img/megalith.webp | Bin 0 -> 17866 bytes docs/public/img/zeus.svg | 14 +++ 6 files changed, 67 insertions(+), 39 deletions(-) delete mode 100644 docs/public/img/etta.png delete mode 100644 docs/public/img/kumuly.png delete mode 100644 docs/public/img/kuutamo.png create mode 100644 docs/public/img/megalith.webp create mode 100644 docs/public/img/zeus.svg diff --git a/docs/.vitepress/theme/components/CaseStudiesPage.vue b/docs/.vitepress/theme/components/CaseStudiesPage.vue index 1f85faa18..52db9e32f 100644 --- a/docs/.vitepress/theme/components/CaseStudiesPage.vue +++ b/docs/.vitepress/theme/components/CaseStudiesPage.vue @@ -11,6 +11,8 @@ interface Project { img: string /* Alternative logo shown when dark mode is active. */ imgDark?: string + /* For single-colour dark marks with no dark variant: invert in dark mode. */ + invertOnDark?: boolean desc: string cats: string[] caseStudy?: string @@ -22,6 +24,9 @@ const featured: Project[] = [ name: 'Alby Hub', url: 'https://albyhub.com/', img: '/img/alby-logo.webp', + /* Two-tone mark: the black center pin vanishes on dark, so swap the + whole logo rather than inverting (which would ruin the yellow). */ + imgDark: '/img/alby-logo-dark.png', desc: 'Equipped with its own lightning node, ready to connect you to numerous applications', cats: ['web'], caseStudy: @@ -71,19 +76,14 @@ const projects: Project[] = [ name: 'Alby Hub', url: 'https://albyhub.com/', img: '/img/alby-logo.webp', + /* Two-tone mark: the black center pin vanishes on dark, so swap the + whole logo rather than inverting (which would ruin the yellow). */ + imgDark: '/img/alby-logo-dark.png', desc: 'With its own lightning node, connecting you to numerous apps', cats: ['web'], caseStudy: '/blog/alby-hub-uses-ldk-to-offer-a-self-custodial-lightning-wallet-for-everyone/', }, - { - name: 'AtomicLightningExchange', - url: 'https://github.com/SurajNaidu0/AtomicLightningExchange', - img: '/img/github.png', - imgDark: '/img/github-white.png', - desc: 'AtomicLightningExchange enables trustless swaps between Lightning Bitcoin and on-chain Bitcoin using atomic swaps', - cats: ['misc'], - }, { name: 'Bitkit', url: 'https://bitkit.to/', @@ -117,13 +117,6 @@ const projects: Project[] = [ desc: 'Payment processors connecting Cashu mints to Lightning backends, including LDK Server', cats: ['infra'], }, - { - name: 'EttaWallet', - url: 'https://github.com/EttaWallet/EttaWallet', - img: '/img/etta.png', - desc: 'A simple open-source wallet with a strong bias toward usability, accessibility, and UX', - cats: ['mobile'], - }, { name: 'Fedimint', url: 'https://fedimint.org/', @@ -148,20 +141,6 @@ const projects: Project[] = [ desc: 'A layer 3 decentralized exchange, allowing trading with native tokens between blockchains', cats: ['desktop'], }, - { - name: 'Kumuly', - url: 'https://twitter.com/kumulydev', - img: '/img/kumuly.png', - desc: 'Colombian-based mobile bitcoin and Lightning wallet', - cats: ['mobile'], - }, - { - name: 'kuutamo', - url: 'https://github.com/kuutamolabs/lightning-knd', - img: '/img/kuutamo.png', - desc: 'A turn-key, end-to-end solution for running self-hosted nodes, anywhere', - cats: ['infra'], - }, { name: 'ldk-sample with Tor', url: 'https://github.com/TonyGiorgio/ldk-sample-tor', @@ -183,6 +162,7 @@ const projects: Project[] = [ name: 'Lightspark', url: 'https://www.lightspark.com/', img: '/img/lightspark-logo.svg', + invertOnDark: true, desc: 'Enterprise-grade, fast, secure payments on Lightning', cats: ['infra'], caseStudy: '/blog/how-we-built-our-sparknodes-using-ldk/', @@ -202,6 +182,13 @@ const projects: Project[] = [ cats: ['infra'], caseStudy: '/blog/lqwd-liquidity-provider-get-liquidity-when-you-need-it/', }, + { + name: 'Megalith', + url: 'https://megalithic.me/', + img: '/img/megalith.webp', + desc: 'One of the largest routing nodes on the Lightning Network, serving LSPS1 and LSPS2 inbound liquidity to mobile wallets', + cats: ['infra'], + }, { name: 'Mutiny', url: 'https://mutinywallet.com/', @@ -259,14 +246,6 @@ const projects: Project[] = [ desc: 'Probes the Lightning Network for the detection of private channels', cats: ['misc'], }, - { - name: 'uMlando', - url: 'https://github.com/ConorOkus/uMlando-wallet', - img: '/img/github.png', - imgDark: '/img/github-white.png', - desc: 'An educational Android demo wallet', - cats: ['misc'], - }, { name: 'Velas', url: 'https://www.velascommerce.com/', @@ -288,6 +267,29 @@ const projects: Project[] = [ desc: 'Enterprise-grade infrastructure for the Lightning Network', cats: ['infra'], }, + { + name: 'Zeus', + url: 'https://zeusln.com/', + img: '/img/zeus.svg', + desc: 'A self-custodial mobile bitcoin wallet, with an embedded LDK Node', + cats: ['mobile'], + }, + { + name: 'zinqq', + url: 'https://zinqq.app', + img: '/img/github.png', + imgDark: '/img/github-white.png', + desc: 'A self-custodial Lightning wallet running entirely in the browser, on LDK compiled to WebAssembly', + cats: ['web'], + }, + { + name: 'zinqq-kmp', + url: 'https://github.com/ConorOkus/zinqq-kmp', + img: '/img/github.png', + imgDark: '/img/github-white.png', + desc: 'A Kotlin Multiplatform client for zinqq, wrapping the LDK crates over UniFFI with Compose and SwiftUI shells', + cats: ['mobile'], + }, ] const active = ref('all') @@ -319,7 +321,10 @@ const filtered = computed(() => .dark .cs-logo-dark { display: block; } + +/* Single-colour dark marks (e.g. Lightspark) ship no dark variant; invert + them so they read light against the dark card. */ +.dark .case-study-item img.cs-invert-dark { + filter: invert(1); +} diff --git a/docs/public/img/etta.png b/docs/public/img/etta.png deleted file mode 100644 index d5714a13053a28b979f19a0b7a575f84d27c4fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 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 + + + + + + + + \ No newline at end of file From bf7d7e73ee80e3204f15b5b41e8fb512efe4b1bf Mon Sep 17 00:00:00 2001 From: Conor Okus Date: Thu, 20 Aug 2026 11:35:46 -0400 Subject: [PATCH 2/2] Drop two dead case-study links and fix a renamed repo URL Mutiny's site returns 404 (the wallet shut down) and the Hidden LN repo is gone from BitcoinDevShop, leaving only a stale 2022 fork. Both cards sent readers to nothing, so they come out of the grid; Mutiny's case study post stays published, and its now-unreferenced logo is deleted. ldk-sample with Tor still resolves, but only through a redirect: the owner renamed TonyGiorgio to AnthonyRonning. Point at the current URL directly. c= stays for now despite cequals.xyz having nameservers but no A record. Co-Authored-By: Claude Opus 5 --- .../theme/components/CaseStudiesPage.vue | 18 +----------------- docs/public/img/mutiny.png | Bin 7518 -> 0 bytes 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 docs/public/img/mutiny.png diff --git a/docs/.vitepress/theme/components/CaseStudiesPage.vue b/docs/.vitepress/theme/components/CaseStudiesPage.vue index 52db9e32f..1d611cfc6 100644 --- a/docs/.vitepress/theme/components/CaseStudiesPage.vue +++ b/docs/.vitepress/theme/components/CaseStudiesPage.vue @@ -143,7 +143,7 @@ const projects: Project[] = [ }, { name: 'ldk-sample with Tor', - url: 'https://github.com/TonyGiorgio/ldk-sample-tor', + url: 'https://github.com/AnthonyRonning/ldk-sample-tor', img: '/img/github.png', imgDark: '/img/github-white.png', desc: 'An experimentation with tor that adapts the ldk-sample node', @@ -189,14 +189,6 @@ const projects: Project[] = [ desc: 'One of the largest routing nodes on the Lightning Network, serving LSPS1 and LSPS2 inbound liquidity to mobile wallets', cats: ['infra'], }, - { - name: 'Mutiny', - url: 'https://mutinywallet.com/', - img: '/img/mutiny.png', - desc: 'A web-first unstoppable bitcoin wallet for everyone', - cats: ['web'], - caseStudy: '/blog/mutiny-uses-ldk-the-first-lightning-wallet-for-the-web/', - }, { name: 'rgb-lightning-node', url: 'https://github.com/RGB-Tools/rgb-lightning-node', @@ -238,14 +230,6 @@ const projects: Project[] = [ cats: ['infra'], caseStudy: '/blog/teos-uses-ldk-to-build-open-source-watchtower/', }, - { - name: 'The Hidden LN', - url: 'https://github.com/BitcoinDevShop/hidden-lightning-network', - img: '/img/github.png', - imgDark: '/img/github-white.png', - desc: 'Probes the Lightning Network for the detection of private channels', - cats: ['misc'], - }, { name: 'Velas', url: 'https://www.velascommerce.com/', diff --git a/docs/public/img/mutiny.png b/docs/public/img/mutiny.png deleted file mode 100644 index 33bf684b6ea8ca0c21c2c2d0142b26fbf2dcfb1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7518 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 Bd~5&!