Raw
1 import Link from "next/link";
2 import { AppScreenshots } from "@/components/app-screenshots";
3 import { StoreBadges } from "@/components/store-badges";
4
5 const features = [
6 {
7 title: "On-device by default",
8 body: "Siti runs its models on your Mac or iPhone. Your prompts and conversations don't leave the device unless you decide to send them somewhere.",
9 },
10 {
11 title: "No account required",
12 body: "Open the app and start typing. There's no sign-up to get through, and nothing about your questions is stored in the cloud.",
13 },
14 {
15 title: "Native on Apple and Windows",
16 body: "A native app on macOS, iOS, and Windows, so it behaves the way the rest of your devices already do.",
17 },
18 ];
19
20 export default function HomePage() {
21 return (
22 <>
23 <section className="mx-auto max-w-5xl px-6 py-24 text-center">
24 <p className="mb-4 text-xs font-semibold uppercase tracking-[0.15em] text-brand">
25 Personal assistant
26 </p>
27 <h1 className="mx-auto max-w-3xl text-4xl font-semibold tracking-tight sm:text-6xl">
28 An assistant that runs{" "}
29 <span className="text-brand">entirely on your device.</span>
30 </h1>
31 <p className="mx-auto mt-6 max-w-2xl text-lg text-muted">
32 Siti runs on your iPhone, iPad, Mac, and Windows PC. Ask it
33 anything, and your conversations stay with you instead of on
34 someone else&apos;s servers.
35 </p>
36 <div className="mt-10 flex flex-col items-center justify-center gap-6">
37 <StoreBadges />
38 <Link
39 href="/about"
40 className="rounded-sm border border-border px-6 py-3 text-sm font-medium text-ink transition-colors hover:bg-surface"
41 >
42 Learn more
43 </Link>
44 </div>
45 </section>
46
47 <section className="mx-auto max-w-5xl px-6 pb-4">
48 <div className="grid gap-6 sm:grid-cols-3">
49 {features.map((feature) => (
50 <div
51 key={feature.title}
52 className="rounded-card border border-border bg-surface p-6"
53 >
54 <h2 className="text-lg font-semibold tracking-tight text-ink">
55 {feature.title}
56 </h2>
57 <p className="mt-2 text-sm leading-relaxed text-muted">
58 {feature.body}
59 </p>
60 </div>
61 ))}
62 </div>
63 </section>
64
65 <AppScreenshots />
66 </>
67 );
68 }