- Your Music,
-
- Everywhere.
-
- - Native macOS menu bar app that shares your Apple Music with Twitch, - Discord, and now-playing widgets. Fast, lightweight, and private. -
-
+ Your Music,
+
+ Live Everywhere.
+
+
+ + macOS menu bar app. Apple Music plays — Twitch chat, Discord, + and your stream overlay all update. Automatically. +
+ +Live preview
++ Everything a streamer needs +
++ One app. Four integrations. Zero monthly fees. +
+- {feature.title} -
-- {feature.description} -
++ {feature.title} +
++ {feature.description} +
- Get Started in Minutes
+ {/* How it works */}
+
+
+
+ Up and running in 3 steps
+
+ No terminal. No config files. Just click through the wizard.
+
{steps.map((step) => (
-
-
+
+
{step.number}
-
+
{step.title}
-
+
{step.description}
@@ -135,34 +285,105 @@ export default function HomePage() {
- {/* Why WolfWave */}
-
-
-
- Built for Performance
-
-
- {highlights.map((item) => (
-
-
-
-
-
- {item.title}
-
-
- {item.description}
+ {/* For Developers */}
+
+
+
+
+
+ {"{}"}
+
+
+
+ For Developers
+
+
+ Open source, zero external dependencies, native Swift. The WebSocket API is
+ fully documented — build your own overlay, integrate with anything, or just
+ poke around.
+
+
+ Architecture
+
+
+
+ Development Guide
+
+
+
+ Security
+
+
+
- ))}
+
+
+
+
+
+ {/* CTA Footer */}
+
+
+ {/* Logo */}
+
+
+
+
-
+
+ Start streaming smarter.
+
+
+ Free forever. No account. Just music.
+
+
+
+
+ Download WolfWave
+
- Explore the documentation
-
+ Read the Docs
+
diff --git a/apps/docs/app/global.css b/apps/docs/app/global.css
index ac4e8de..9ec3d60 100644
--- a/apps/docs/app/global.css
+++ b/apps/docs/app/global.css
@@ -39,9 +39,17 @@
}
}
+/* Midnight background utilities */
+.bg-midnight {
+ background-color: #080810;
+}
+.bg-midnight-card {
+ background-color: #0e0e1a;
+}
+
/* Hero gradient text */
.gradient-text {
- background: linear-gradient(135deg, hsl(217 91% 60%), hsl(195 90% 55%), hsl(217 91% 60%));
+ background: linear-gradient(135deg, #7c3aed, #22d3ee, #a855f7);
background-size: 200% 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
@@ -64,21 +72,44 @@
height: 500px;
background: radial-gradient(
ellipse at center,
- hsla(217 91% 60% / 0.08) 0%,
- hsla(200 90% 55% / 0.04) 40%,
+ rgba(124, 58, 237, 0.12) 0%,
+ rgba(34, 211, 238, 0.05) 45%,
transparent 70%
);
pointer-events: none;
z-index: 0;
}
-.dark .hero-glow {
- background: radial-gradient(
- ellipse at center,
- hsla(217 91% 60% / 0.06) 0%,
- hsla(200 90% 55% / 0.03) 40%,
- transparent 70%
- );
+/* Waveform animation */
+.waveform {
+ display: flex;
+ align-items: center;
+ gap: 3px;
+ height: 48px;
+}
+
+.waveform-bar {
+ width: 4px;
+ border-radius: 2px;
+ background: linear-gradient(to top, #7c3aed, #22d3ee);
+ animation: wave-bounce var(--duration, 1.2s) ease-in-out infinite alternate;
+ animation-delay: var(--delay, 0s);
+ height: 6px;
+}
+
+@keyframes wave-bounce {
+ 0% { height: 6px; opacity: 0.4; }
+ 100% { height: var(--peak, 40px); opacity: 1; }
+}
+
+/* Now Playing card pulse */
+.now-playing-pulse {
+ animation: card-pulse 3s ease-in-out infinite;
+}
+
+@keyframes card-pulse {
+ 0%, 100% { box-shadow: 0 0 0 0 rgba(124, 58, 237, 0); }
+ 50% { box-shadow: 0 0 30px 4px rgba(124, 58, 237, 0.25); }
}
/* Feature cards */
diff --git a/apps/docs/app/layout.tsx b/apps/docs/app/layout.tsx
index af19354..35b9899 100644
--- a/apps/docs/app/layout.tsx
+++ b/apps/docs/app/layout.tsx
@@ -1,10 +1,18 @@
-import { Inter } from "next/font/google";
+import { Unbounded, Instrument_Sans } from "next/font/google";
import type { Metadata } from "next";
import { Provider } from "@/components/provider";
import "./global.css";
-const inter = Inter({
+const unbounded = Unbounded({
subsets: ["latin"],
+ variable: "--font-unbounded",
+ display: "swap",
+});
+
+const instrumentSans = Instrument_Sans({
+ subsets: ["latin"],
+ variable: "--font-instrument",
+ display: "swap",
});
export const metadata: Metadata = {
@@ -52,7 +60,7 @@ export const metadata: Metadata = {
export default function Layout({ children }: LayoutProps<"/">) {
return (
-
+
{children}
+ Up and running in 3 steps
++ No terminal. No config files. Just click through the wizard. +
+
{step.title}
-
+
{step.description}
- Built for Performance -
-- {item.title} -
-
- {item.description}
+ {/* For Developers */}
+
+ Open source, zero external dependencies, native Swift. The WebSocket API is
+ fully documented — build your own overlay, integrate with anything, or just
+ poke around.
+ Free forever. No account. Just music.
+
+ For Developers
+
+
+
+ Start streaming smarter.
+
+