+ {/* Desktop: the aligned three-column table. */}
+
{/* The "winner column" — one continuous panel behind Tinycast. */}
+ {/* Mobile: one card per row, so nothing scrolls sideways. */}
+
+ {compareRows.map((row) => (
+
+
+ {row.label}
+ {row.sourced && (
+ †
+ )}
+
+
+
+
+
+ Tinycast
+
+
+
+
+
+
+ Raycast
+
+
+
+
+
+ ))}
+
+
{/* The one external claim, cited so it holds up. */}
† Stack and memory figures
diff --git a/website/src/components/ethos.tsx b/website/src/components/ethos.tsx
index cec7684a..1826ce55 100644
--- a/website/src/components/ethos.tsx
+++ b/website/src/components/ethos.tsx
@@ -10,7 +10,7 @@ export function Ethos() {
id="why"
eyebrow="Why it's tiny"
title="Built like a Mac app should be."
- intro="SwiftUI and AppKit, zero dependencies, no Electron runtime hiding underneath. It's fast because there's barely anything to it."
+ intro="Native SwiftUI and AppKit. No Electron, no bloat — fast because there's barely anything to it."
>
{/* Stat strip — the one place numbers get loud. */}
@@ -36,21 +36,19 @@ export function Ethos() {
-
- {values.map((value, i) => (
-
-
-
-
-
-
-
{value.title}
-
{value.body}
-
-
-
- ))}
-
+
+
+ {values.map((value) => (
+
+
+ {value}
+
+ ))}
+
+
);
}
diff --git a/website/src/components/footer.tsx b/website/src/components/footer.tsx
index 53eb820c..1fbef1a6 100644
--- a/website/src/components/footer.tsx
+++ b/website/src/components/footer.tsx
@@ -1,9 +1,10 @@
import { site } from "../data/site";
-import { GitHubLogo, Logo } from "./ui/icon";
+import { DiscordLogo, GitHubLogo, Logo } from "./ui/icon";
import { MetaStrip } from "./ui/meta-strip";
export function Footer() {
const repoPath = site.repo.replace("https://", "");
+ const hasDiscord = site.community.discord !== "#";
return (
- Your shortcut to
- everything on your Mac.
+ {hero.headline}
- {site.name} is a tiny, fully native launcher — fuzzy app search, a
- calculator, clipboard history, and global hotkeys. A few megabytes on
- disk, and it brings your Raycast setup along. No Electron, no account,
- no telemetry.
+ {hero.sub}