45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { BuiltAndRunning } from "@/src/components/home/BuiltAndRunning";
|
|
import { CapacityBlocks } from "@/src/components/home/CapacityBlocks";
|
|
import { FinalCta } from "@/src/components/home/FinalCta";
|
|
import { Hero } from "@/src/components/home/Hero";
|
|
import { HomeJsonLd } from "@/src/components/home/HomeJsonLd";
|
|
import { HowIShip } from "@/src/components/home/HowIShip";
|
|
import { ProofStrip } from "@/src/components/home/ProofStrip";
|
|
import { WebsitesSection } from "@/src/components/home/WebsitesSection";
|
|
import { WhatIDo } from "@/src/components/home/WhatIDo";
|
|
import { SITE_NAME } from "@/src/content/site";
|
|
|
|
const TITLE = `${SITE_NAME}: senior engineer for AI-built software`;
|
|
const DESCRIPTION =
|
|
"Senior engineer for teams that build fast with AI and don't want chaos. Spec-first, test-driven, mutation-checked. Booked in weekly capacity blocks.";
|
|
|
|
export const metadata: Metadata = {
|
|
title: { absolute: TITLE },
|
|
description: DESCRIPTION,
|
|
alternates: { canonical: "/" },
|
|
openGraph: {
|
|
title: TITLE,
|
|
description: DESCRIPTION,
|
|
url: "/",
|
|
type: "website",
|
|
siteName: SITE_NAME,
|
|
},
|
|
};
|
|
|
|
export default function HomePage() {
|
|
return (
|
|
<>
|
|
<HomeJsonLd />
|
|
<Hero />
|
|
<ProofStrip />
|
|
<HowIShip />
|
|
<WhatIDo />
|
|
<CapacityBlocks />
|
|
<WebsitesSection />
|
|
<BuiltAndRunning />
|
|
<FinalCta />
|
|
</>
|
|
);
|
|
}
|