This commit is contained in:
a2a-platform
2026-06-11 21:36:21 +00:00
commit 006f5e03e3
100 changed files with 3741 additions and 0 deletions

282
frontend/app/globals.css Normal file
View File

@@ -0,0 +1,282 @@
@import "tailwindcss";
:root {
color-scheme: light;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: #f4f1ec;
color: #191816;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
min-height: 100vh;
background:
linear-gradient(90deg, rgba(25, 24, 22, 0.05) 1px, transparent 1px),
linear-gradient(180deg, rgba(25, 24, 22, 0.05) 1px, transparent 1px),
#f4f1ec;
background-size: 44px 44px;
}
main {
overflow: hidden;
}
h1,
h2,
h3,
p {
margin-top: 0;
}
p {
color: #4d4840;
font-size: 18px;
line-height: 1.7;
}
.hero {
min-height: 92vh;
display: flex;
align-items: flex-end;
padding: 56px 28px;
background:
linear-gradient(135deg, rgba(22, 82, 73, 0.14), transparent 48%),
linear-gradient(180deg, rgba(244, 241, 236, 0.52), #f4f1ec 84%),
url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2200&q=85");
background-position: center;
background-size: cover;
}
.hero-inner {
width: min(1120px, 100%);
margin: 0 auto;
padding-top: 18vh;
}
.eyebrow {
margin-bottom: 14px;
color: #0f6c5b;
font-size: 12px;
font-weight: 800;
letter-spacing: 0;
text-transform: uppercase;
}
h1 {
max-width: 980px;
margin-bottom: 24px;
color: #171512;
font-size: clamp(64px, 11vw, 148px);
line-height: 0.88;
letter-spacing: 0;
overflow-wrap: anywhere;
}
h2 {
margin-bottom: 18px;
color: #1c1a17;
font-size: clamp(34px, 5vw, 68px);
line-height: 0.98;
letter-spacing: 0;
}
.lede {
max-width: 760px;
margin-bottom: 18px;
color: #1f352f;
font-size: clamp(28px, 4vw, 48px);
line-height: 1.08;
font-weight: 750;
}
.intro {
max-width: 820px;
margin-bottom: 0;
color: #27231e;
font-size: 21px;
line-height: 1.65;
}
.section {
padding: 96px 28px;
}
.content-grid {
width: min(1120px, 100%);
margin: 0 auto;
display: grid;
grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
gap: 56px;
align-items: start;
}
.copy p:last-child {
margin-bottom: 0;
}
.lead-copy {
margin-bottom: 28px;
}
.question-band {
background: #17231f;
color: #f9f6ef;
}
.question {
width: min(980px, 100%);
margin: 0 auto;
}
.question .eyebrow {
color: #71d7b8;
}
.question h2 {
color: #fffaf2;
}
.question p {
max-width: 760px;
margin-bottom: 0;
color: #d9e2dc;
}
.pill-grid,
.interest-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.pill-grid span,
.interest-grid span {
border: 1px solid rgba(25, 24, 22, 0.18);
border-radius: 8px;
background: rgba(255, 255, 255, 0.56);
padding: 11px 13px;
color: #25221d;
font-size: 15px;
font-weight: 700;
}
.split-band {
width: min(1120px, calc(100% - 56px));
margin: 0 auto;
padding-right: 0;
padding-left: 0;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1px;
background: rgba(25, 24, 22, 0.18);
}
.split-band article {
min-height: 520px;
padding: 42px;
background: #fffdf8;
}
.split-band article:first-child {
background: #e7eee8;
}
.split-band h2 {
font-size: clamp(32px, 4vw, 54px);
}
.clean-list {
display: grid;
gap: 12px;
margin: 28px 0 0;
padding: 0;
list-style: none;
}
.clean-list li {
border-top: 1px solid rgba(25, 24, 22, 0.18);
padding-top: 12px;
color: #25221d;
font-size: 17px;
font-weight: 800;
}
.interests {
width: min(1120px, 100%);
margin: 0 auto;
}
.interests h2 {
max-width: 760px;
}
.connect {
width: min(1120px, calc(100% - 56px));
margin: 0 auto 56px;
border-radius: 8px;
background: #171512;
padding: 56px;
}
.connect .eyebrow {
color: #71d7b8;
}
.connect h2 {
max-width: 920px;
color: #fffaf2;
}
.connect p {
max-width: 720px;
margin-bottom: 0;
color: #d8d0c3;
}
@media (max-width: 820px) {
.hero {
min-height: 86vh;
padding: 36px 20px;
}
.hero-inner {
padding-top: 12vh;
}
.section {
padding: 64px 20px;
}
.content-grid,
.split-band {
grid-template-columns: 1fr;
gap: 28px;
}
.split-band {
width: min(100% - 40px, 1120px);
}
.split-band article {
min-height: auto;
padding: 28px;
}
.connect {
width: min(100% - 40px, 1120px);
padding: 32px 24px;
}
p,
.intro {
font-size: 17px;
}
}

14
frontend/app/layout.jsx Normal file
View File

@@ -0,0 +1,14 @@
import "./globals.css";
export const metadata = {
title: "Robert Seares",
description: "Software engineer, engineering leader, founder, and product builder."
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>{children}</body>
</html>
);
}

178
frontend/app/page.jsx Normal file
View File

@@ -0,0 +1,178 @@
const focusAreas = [
"Artificial Intelligence",
"Cloud Infrastructure",
"Distributed Systems",
"Developer Platforms",
"Product Engineering",
"Startup Operations",
"Automation",
"Technical Leadership",
];
const values = [
"Ownership over bureaucracy",
"Speed over perfection",
"Simplicity over complexity",
"Learning over ego",
"Execution over presentations",
];
const interests = [
"AI agents and autonomous systems",
"Cloud-native platforms",
"Scientific computing",
"Biotechnology",
"Startup strategy",
"Developer experience",
"Infrastructure automation",
"Human-computer collaboration",
];
export default function Home() {
return (
<main>
<section className="hero">
<div className="hero-inner">
<p className="eyebrow">Software engineer, founder, product builder</p>
<h1>Robert Seares</h1>
<p className="lede">I build companies, software, and systems.</p>
<p className="intro">
I am a software engineer, engineering leader, founder, and product
builder currently living in Brazil with my wife and two children.
Over the last decade I have worked across startups, AI, biotech,
consumer products, infrastructure, and automation, always gravitating
toward difficult technical problems where software can create
outsized leverage.
</p>
</div>
</section>
<section className="section narrative">
<div className="content-grid">
<div>
<p className="eyebrow">Today</p>
<h2>Engineering at Ark Biotech</h2>
</div>
<div className="copy">
<p>
Today I lead software engineering at Ark Biotech, where I help
build the infrastructure, applications, simulation tooling, and AI
systems powering next-generation biomanufacturing.
</p>
<p>
My work spans cloud infrastructure, developer platforms,
simulation systems, machine learning applications, frontend
architecture, backend services, and engineering leadership.
</p>
</div>
</div>
</section>
<section className="section question-band">
<div className="question">
<p className="eyebrow">The question</p>
<h2>How do we make it dramatically easier for people to build useful things?</h2>
<p>
That question has led me through projects ranging from AI systems
and developer platforms to restaurant software, biotechnology
infrastructure, and autonomous agents.
</p>
</div>
</section>
<section className="section">
<div className="content-grid">
<div>
<p className="eyebrow">What I do</p>
<h2>Systems that scale from idea to business</h2>
</div>
<div>
<p className="copy lead-copy">
I enjoy building systems that can scale from a single user to
thousands, and from a proof of concept to a business. My preferred
stack is Python, TypeScript, Kubernetes, FastAPI, React,
PostgreSQL, cloud-native infrastructure, and AI-powered workflows.
</p>
<div className="pill-grid">
{focusAreas.map((area) => (
<span key={area}>{area}</span>
))}
</div>
</div>
</div>
</section>
<section className="section split-band">
<article>
<p className="eyebrow">Philosophy</p>
<h2>Software should create leverage.</h2>
<p>
The best technology removes complexity rather than adding it. Great
systems are understandable, maintainable, and useful. Great
companies solve real problems. Great engineers ship.
</p>
<ul className="clean-list">
{values.map((value) => (
<li key={value}>{value}</li>
))}
</ul>
</article>
<article>
<p className="eyebrow">Building</p>
<h2>A laptop, an idea, and enough persistence.</h2>
<p>
Outside of my day job, I spend most of my time building. I have
launched products in AI, SaaS, developer tooling, restaurant
technology, and automation. Some succeeded, some failed, and all of
them taught me something valuable.
</p>
<p>
What keeps me motivated is the same thing that motivated me when I
started writing software: the ability to create something from
nothing.
</p>
</article>
</section>
<section className="section">
<div className="content-grid">
<div>
<p className="eyebrow">Life</p>
<h2>Countryside of Sao Paulo, Brazil</h2>
</div>
<div className="copy">
<p>
When I am not building software, I am spending time with my
family, exploring business ideas, studying technology, lifting
weights, reading about startups, or working on the next project
that probably should not exist but sounds too interesting not to
build.
</p>
</div>
</div>
</section>
<section className="section interests">
<div>
<p className="eyebrow">Current interests</p>
<h2>Problems worth paying attention to</h2>
</div>
<div className="interest-grid">
{interests.map((interest) => (
<span key={interest}>{interest}</span>
))}
</div>
</section>
<section className="section connect">
<p className="eyebrow">Connect</p>
<h2>If you are building something ambitious, I would love to hear about it.</h2>
<p>
I am always interested in talking with builders, founders, engineers,
and people working on difficult problems.
</p>
</section>
</main>
);
}