- E-commerce, mobile apps, and custom solutions: we build accessible software to perform at scale.
+ Custom e-commerce, websites, apps, and consulting. Plus our own mobile apps and games. A software studio in Kennett Square, PA.
-
+
-
+
diff --git a/apps/web/src/app/products/page.tsx b/apps/web/src/app/products/page.tsx
index 8348a67..9e865e2 100644
--- a/apps/web/src/app/products/page.tsx
+++ b/apps/web/src/app/products/page.tsx
@@ -1,6 +1,7 @@
import { Header } from "@/components/layout/header";
import { MobileNav } from "@/components/layout/mobile-nav";
import { Card } from "@repo/ui/components/card";
+import Image from "next/image";
import Link from "next/link";
import type { Metadata } from "next";
@@ -21,48 +22,56 @@ const products = [
title: "Neroswap",
description: "Aggregated DEX & CEX orderbook data. Compare Monero, Wownero, and Bitcoin prices across 6 exchanges in real time.",
color: "yellow",
+ icon: "/images/products/neroswap.png",
},
{
slug: "webshops",
title: "Webshops",
description: "Headless Medusa commerce with revenue-share pricing. No upfront costs.",
color: "emerald",
+ icon: "/images/products/occupy-wallets.png",
},
{
slug: "custom-websites",
title: "Custom Websites",
description: "Real-time platforms and interactive experiences. See rcryptocurrency.com and moonplace.io.",
color: "purple",
+ icon: "/images/products/r-cryptocurrency.png",
},
{
slug: "smirk-wallet",
title: "Smirk Wallet",
description: "Non-custodial browser wallet for social tipping. BTC, LTC, XMR, WOW, GRIN.",
color: "amber",
+ icon: "/images/products/smirk-wallet.png",
},
{
slug: "bauhaus-echo",
title: "Bauhaus Echo",
description: "Visual memory puzzle game inspired by Bauhaus design. Android, iOS, Web.",
color: "blue",
+ icon: "/images/products/bauhaus-echo.png",
},
{
slug: "suchoice",
title: "Suchoice",
description: "Stop overthinking decisions. Snap a photo, let AI read the options, spin the wheel. Plus coin flip and adventure mode. Android and iOS.",
color: "pink",
+ icon: "/images/products/suchoice.png",
},
{
slug: "vegan-iq",
title: "Vegan IQ",
description: "Test your plant-based knowledge with 2000+ trivia questions across 8 categories. Verified data, swipe gameplay. Android and iOS.",
color: "green",
+ icon: "/images/products/vegan-iq.png",
},
{
slug: "wownero-moon-launch",
title: "Wownero Moon Launch",
description: "Crypto-themed space landing game. 11 levels, 4 weapons, endless mode. Android, iOS, Web, Desktop.",
color: "orange",
+ icon: "/images/products/such-moon-launch.png",
},
];
@@ -95,7 +104,7 @@ export default function ProductsPage() {
- Our Products
+ Portfolio
Tools we have built, from commerce infrastructure to consumer apps.
@@ -106,9 +115,18 @@ export default function ProductsPage() {
{products.map((product) => (
-
- {product.title}
-
+
+
+
+ {product.title}
+
+
{product.description}
diff --git a/apps/web/src/components/dynamic-favicon.tsx b/apps/web/src/components/dynamic-favicon.tsx
index cf9bab8..f111619 100644
--- a/apps/web/src/components/dynamic-favicon.tsx
+++ b/apps/web/src/components/dynamic-favicon.tsx
@@ -9,7 +9,9 @@ export function DynamicFavicon() {
useEffect(() => {
if (!resolvedTheme) return;
- const variant = resolvedTheme === 'dark' ? 'dark' : 'light';
+ // Favicons contrast with browser chrome, so we serve the opposite-tone tile:
+ // dark mode → light tile, light mode → dark tile.
+ const variant = resolvedTheme === 'dark' ? 'light' : 'dark';
// Update all favicon link elements
const links = document.querySelectorAll('link[rel="icon"], link[rel="shortcut icon"], link[rel="apple-touch-icon"]');