Site clean (#716)

* init next.js app

* add metadata for keyword selection

* minor heading changes

* updated title and keywords

* updating link to reach planoai.dev

---------

Co-authored-by: Musa <malikmusa1323@gmail.com>
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-342.local>
This commit is contained in:
Salman Paracha 2026-01-30 18:14:39 -08:00 committed by GitHub
parent d8b4c800e6
commit a278e67d9a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 416 additions and 0 deletions

View file

@ -0,0 +1,19 @@
:root {
--katanemo-bg-start: #04171a;
--katanemo-bg-end: #0a292e;
--font-sans: var(--font-ibm-plex-sans);
}
html,
body {
background: linear-gradient(
to bottom,
var(--katanemo-bg-start),
var(--katanemo-bg-end)
);
min-height: 100%;
}
body {
font-family: var(--font-ibm-plex-sans, var(--font-sans));
}

View file

@ -0,0 +1,87 @@
import type { Metadata } from "next";
import Script from "next/script";
import localFont from "next/font/local";
import { siteConfig } from "../lib/metadata";
import "@katanemo/shared-styles/globals.css";
import "./globals.css";
const ibmPlexSans = localFont({
src: [
{
path: "../../../www/public/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf",
weight: "100 700",
style: "normal",
},
{
path: "../../../www/public/fonts/IBMPlexSans-Italic-VariableFont_wdth,wght.ttf",
weight: "100 700",
style: "italic",
},
],
display: "swap",
variable: "--font-ibm-plex-sans",
});
const baseUrl = new URL(siteConfig.url);
export const metadata: Metadata = {
title: `${siteConfig.name} - ${siteConfig.tagline}`,
description: siteConfig.description,
keywords: siteConfig.keywords,
metadataBase: baseUrl,
authors: siteConfig.authors,
creator: siteConfig.creator,
icons: {
icon: "/KatanemoLogo.svg",
},
openGraph: {
type: "website",
locale: "en_US",
url: siteConfig.url,
title: `${siteConfig.name} - ${siteConfig.tagline}`,
description: siteConfig.description,
siteName: siteConfig.name,
images: [
{
url: siteConfig.ogImage,
width: 1200,
height: 630,
alt: `${siteConfig.name} - ${siteConfig.tagline}`,
},
],
},
twitter: {
card: "summary_large_image",
title: `${siteConfig.name} - ${siteConfig.tagline}`,
description: siteConfig.description,
images: [siteConfig.ogImage],
creator: "@katanemo",
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={`${ibmPlexSans.variable} antialiased text-white`}>
{/* Google tag (gtag.js) */}
<Script
src="https://www.googletagmanager.com/gtag/js?id=G-RLD5BDNW5N"
strategy="afterInteractive"
/>
<Script strategy="afterInteractive">
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-RLD5BDNW5N');
`}
</Script>
<div className="min-h-screen">{children}</div>
</body>
</html>
);
}

View file

@ -0,0 +1,72 @@
import Image from "next/image";
import Link from "next/link";
export default function HomePage() {
return (
<main className="relative flex min-h-screen items-center justify-center overflow-hidden px-6 pt-12 pb-16 font-sans sm:pt-20 lg:items-start lg:justify-start lg:pt-24">
<div className="relative mx-auto w-full max-w-6xl flex flex-col items-center justify-center text-left lg:items-start lg:justify-start">
<div className="pointer-events-none mb-6 w-full self-start lg:hidden">
<Image
src="/KatanemoLogo.svg"
alt="Katanemo Logo"
width={64}
height={64}
priority
className="h-auto w-10 sm:w-20"
/>
</div>
<div className="relative z-10 max-w-xl sm:max-w-2xl lg:max-w-2xl xl:max-w-8xl lg:pr-[26vw] xl:pr-[2vw] sm:right-0 md:right-0 lg:right-0 xl:right-20 2xl:right-50 sm:mt-36 mt-0">
<h1 className="text-3xl sm:text-4xl md:text-5xl lg:text-6xl font-sans font-medium leading-tight tracking-tight text-white">
Forward-deployed AI infrastructure engineers.
</h1>
<p className="mt-4 font-light tracking-[-0.4px] max-w-2xl text-base sm:text-lg md:text-xl lg:text-2xl text-white/70">
Bringing industry-leading research and open-source technologies to
accelerate the development of AI agents.
</p>
<div className="mt-18 flex flex-col gap-3 text-lg sm:text-xl lg:text-3xl font-light tracking-wide sm:tracking-[-0.03em] leading-snug">
<Link
href="https://huggingface.co/katanemo"
className="flex items-center gap-2 text-[#31C887] hover:text-[#45e394] transition-colors"
>
<span>Models Research</span>
<span aria-hidden className="text-emerald-300"></span>
</Link>
<Link
href="https://planoai.dev"
className="flex items-center gap-2 text-[#31C887] hover:text-[#45e394] transition-colors"
>
<span>Plano - Open Source Agent Infrastructure</span>
<span aria-hidden className="text-emerald-300"></span>
</Link>
</div>
<div className="mt-24">
<div className="sm:max-w-7xl max-w-72 mb-4 text-sm sm:text-base lg:text-lg text-white/70 tracking-[-0.3px] sm:tracking-[0.8px]! font-light">
Move faster and more reliably by letting Katanemo do the heavy-lifting.
</div>
<a
href="mailto:interest@katanemo.com"
className="text-sm sm:text-sm text-white/50 hover:text-white transition-colors cursor-pointer"
>
Contact Us
</a>
<div className="mt-4 h-px w-52 bg-white/10" />
<div className="mt-3 text-sm text-white/50">
© 2026 Katanemo Labs, Inc.
</div>
</div>
</div>
<div className="pointer-events-none absolute top-50 right-[-20vw] sm:right-[-10vw] md:right-[-5vw] lg:right-[-20vw] xl:right-[-7vw] 2xl:right-[-17vw] hidden lg:block">
<Image
src="/KatanemoLogo.svg"
alt="Katanemo Logo"
width={900}
height={1000}
priority
className="h-[95vh] w-auto max-w-none opacity-90"
/>
</div>
</div>
</main>
);
}