Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
a94c91d
Update landing page headline to 'hello world!'
mattvollmer Feb 2, 2026
56a1033
Make headline font red
mattvollmer Feb 2, 2026
2282eaa
Revert "Make headline font red"
mattvollmer Feb 2, 2026
bb5c60b
Replace install command menu with View Docs CTA button
mattvollmer Feb 2, 2026
ab68580
Remove early access pill from masthead
mattvollmer Feb 4, 2026
7552641
Update all docs links to blink.coder.com/docs
mattvollmer Feb 4, 2026
7f9a635
Remove 'Built by Coder' text from header
mattvollmer Feb 4, 2026
4d7805a
Change radial gradient colors from orange to blue (14,28,58)
mattvollmer Feb 4, 2026
135e2d1
Update docs link in header to blink.coder.com/docs
mattvollmer Feb 4, 2026
ba9a8bd
Update headline to 'Your Team's Codebase Expert, in Slack'
mattvollmer Feb 4, 2026
abea8af
Update headline and add 800px max width
mattvollmer Feb 4, 2026
503e680
Add white blink-hop icon above headline
mattvollmer Feb 4, 2026
86a929e
Increase blink-hop icon size to 200x200
mattvollmer Feb 4, 2026
be35da5
Increase blink-hop icon to 400x400
mattvollmer Feb 4, 2026
0fd63b0
Stop blink-hop animation after 4 seconds
mattvollmer Feb 4, 2026
1ec304b
Adjust animation stop to 3800ms
mattvollmer Feb 4, 2026
01a1fad
Replace blink-hop icon with blink-hop-new.png
mattvollmer Feb 4, 2026
b25741c
Switch to blink-hop-cropped.png
mattvollmer Feb 4, 2026
49c5c7f
Reduce icon size to 100x100
mattvollmer Feb 4, 2026
0e56135
Reduce icon size to 50x50
mattvollmer Feb 4, 2026
60ef791
Add slide-out animation after 8 seconds
mattvollmer Feb 4, 2026
ecd9964
Adjust slide-out timing to 7500ms
mattvollmer Feb 4, 2026
3a099ef
Add min-height to prevent layout shift on image load
mattvollmer Feb 4, 2026
eb71847
Fix layout shift: use fixed height and priority load
mattvollmer Feb 4, 2026
5123a69
Fix image distortion with object-contain
mattvollmer Feb 4, 2026
ce23b31
Increase icon size to 100x100
mattvollmer Feb 4, 2026
6a44b38
Add slide-in animation from left before slide-out to right
mattvollmer Feb 4, 2026
56e4419
Adjust icon to stay for 4 seconds over headline
mattvollmer Feb 4, 2026
89192aa
Add blink-hop-cropped.png icon
mattvollmer Feb 4, 2026
8925caf
Update subheadline text
mattvollmer Feb 4, 2026
7c5e5aa
Remove login button and mobile navigation, keep GitHub/docs icons vis…
mattvollmer Feb 4, 2026
77eadfb
Move masthead content up 50px
mattvollmer Feb 4, 2026
41b0cf2
Remove dark/light mode toggle, set section to light mode by default
mattvollmer Feb 4, 2026
f1249f1
Add Visit Github link below View Docs button and make button fully ro…
mattvollmer Feb 4, 2026
fbd5c6a
Fix capitalization: Github -> GitHub
mattvollmer Feb 4, 2026
cc7070d
Simplify 'You ask. Blink builds' section and update masthead CTAs
mattvollmer Feb 5, 2026
67c744f
Update landing page content and styling
mattvollmer Feb 5, 2026
42f9743
Run biome formatting on home page
mattvollmer Feb 5, 2026
a504ba2
Run prettier formatting on home page
mattvollmer Feb 5, 2026
d928e9b
Update icon animation to hop off bottom with gravity physics
mattvollmer Feb 5, 2026
f842678
Add Slack conversation and web UI screenshots
mattvollmer Feb 5, 2026
31128e3
Add blink icon and improve web UI screenshot styling
mattvollmer Feb 5, 2026
b0065ee
Update SEO metadata and structured data
mattvollmer Feb 5, 2026
5dcdae1
Delete internal/site/app/(public)/home/page.tsx.backup
mattvollmer Feb 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,347 changes: 249 additions & 1,098 deletions internal/site/app/(public)/home/page.tsx

Large diffs are not rendered by default.

118 changes: 3 additions & 115 deletions internal/site/app/(public)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -151,63 +151,14 @@ export default function Layout({ children }: { children: ReactNode }) {
>
<LogoBlink size={22} />
</Link>
{/* Mobile: Single line */}
<a
href="https://coder.com"
target="_blank"
rel="noopener noreferrer"
className="md:hidden text-[13px] leading-[14px] text-gray-400 hover:text-gray-300 transition-colors duration-150"
>
{typedTextMobile}
</a>
{/* Desktop: Two lines */}
<a
href="https://coder.com"
target="_blank"
rel="noopener noreferrer"
className="hidden md:block text-[13px] leading-[14px] text-gray-400 hover:text-gray-300 transition-colors duration-150 min-h-[28px]"
>
<div>{typedText.split("\n")[0] || "\u00A0"}</div>
<div>{typedText.split("\n")[1] || "\u00A0"}</div>
</a>
</div>

{/* Navigation - Hidden on mobile, visible on large screens */}
{/* <div className="hidden lg:flex flex-row items-center gap-6 text-neutral-400 ml-16">
</div> */}

{/* Mobile menu button */}
<button
className="lg:hidden ml-auto p-2 text-white hover:opacity-80 transition-opacity"
onClick={() => setIsMobileMenuOpen(!isMobileMenuOpen)}
aria-label="Toggle mobile menu"
>
<svg
className="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
{isMobileMenuOpen ? (
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M6 18L18 6M6 6l12 12"
/>
) : (
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M4 6h16M4 12h16M4 18h16"
/>
)}
</svg>
</button>

{/* Auth buttons */}
<div className="hidden lg:flex ml-auto flex-row items-center gap-1 md:gap-2">
{/* GitHub and Docs icons - visible on all viewports */}
<div className="flex ml-auto flex-row items-center gap-1 md:gap-2">
<a
href="https://github.com/coder/blink"
target="_blank"
Expand All @@ -228,7 +179,7 @@ export default function Layout({ children }: { children: ReactNode }) {
</svg>
</a>
<a
href="https://docs.blink.so"
href="https://blink.coder.com/docs"
target="_blank"
rel="noopener noreferrer"
className="p-2 text-gray-400 hover:text-white transition-colors duration-200"
Expand All @@ -248,72 +199,9 @@ export default function Layout({ children }: { children: ReactNode }) {
/>
</svg>
</a>
<Link href="/login">
<Button
variant="outline"
size="sm"
className="text-xs md:text-sm px-4 rounded-full inline-flex items-center gap-2 border-gray-600 bg-gray-900/20 hover:bg-gray-800/30 hover:border-gray-500"
>
Login
</Button>
</Link>
</div>
</div>

{/* Mobile Navigation Menu */}
{isMobileMenuOpen && (
<div className="lg:hidden fixed inset-x-0 top-[72px] md:top-[104px] bottom-0 bg-[#090B0B] z-40 animate-in fade-in duration-200">
<div className="h-full flex flex-col px-6 py-8 overflow-y-auto">
<nav className="flex-1 flex flex-col space-y-2">
{/* <SmartNavLink
href="#use-cases"
className="text-gray-400 hover:text-white transition-colors py-3 text-lg font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
Use Cases
</SmartNavLink>
<SmartNavLink
href="#features"
className="text-gray-400 hover:text-white transition-colors py-3 text-lg font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
Features
</SmartNavLink>
<SmartNavLink
href="#how-it-works"
className="text-gray-400 hover:text-white transition-colors py-3 text-lg font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
How it Works
</SmartNavLink>

<SmartNavLink
href="#community"
className="text-gray-400 hover:text-white transition-colors py-3 text-lg font-medium"
onClick={() => setIsMobileMenuOpen(false)}
>
Community
</SmartNavLink> */}
</nav>

<div className="pb-8">
<Link
href="/login"
onClick={() => setIsMobileMenuOpen(false)}
>
<Button
variant="outline"
size="lg"
className="w-full text-base px-6 py-4 rounded-full inline-flex items-center justify-center gap-3 border-gray-600 bg-gray-900/20 hover:bg-gray-800/30 hover:border-gray-500"
>
Login
</Button>
</Link>
</div>
</div>
</div>
)}

<div className="relative z-10 w-full flex flex-1 flex-col justify-center">
{children}
</div>
Expand Down
27 changes: 25 additions & 2 deletions internal/site/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";

export const metadata: Metadata = {
title: "Blink",
title: "Blink: Deep Code Research Agent for Slack & GitHub",
description:
"Build and deploy Slack agents from your terminal. Open source, local-first agent framework.",
"Self-hosted platform for deploying custom AI agents. Ships with Scout, a powerful coding agent for deep code research. Integrates with Slack, GitHub, and your infrastructure. Build agents in TypeScript with the Blink SDK.",
manifest: "/manifest.json",
appleWebApp: {
capable: true,
Expand All @@ -17,6 +17,29 @@ export const metadata: Metadata = {
formatDetection: {
telephone: false,
},
openGraph: {
title: "Blink - Self-Hosted AI Agents for Code Research",
description:
"Deploy custom AI coding agents to Slack and GitHub. Pre-built Scout agent, Web UI, and SDK for building agents in TypeScript.",
type: "website",
url: "https://blink.coder.com",
siteName: "Blink",
images: [
{
url: "https://blink.coder.com/slack-screenshots/web-ui-screenshot.jpg",
width: 1920,
height: 1080,
alt: "Blink Web UI",
},
],
},
twitter: {
card: "summary_large_image",
title: "Blink - Self-Hosted AI Agents for Code Research",
description:
"Deploy custom AI coding agents to Slack and GitHub with this self-hosted platform.",
images: ["https://blink.coder.com/slack-screenshots/web-ui-screenshot.jpg"],
},
icons: {
shortcut: [
{
Expand Down
Binary file added internal/site/public/blink-hop-cropped.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.