import Image from "next/image"; import Link from "next/link"; import type { Metadata } from "next"; import graphAttentionImage from "@/public/images/graph-attention-topology/model-architecture.png"; const projects = [ { href: "/projects/graph-attention-topology", title: "Graph Attention Inference of Network Topology", eyebrow: "MECC 2024 / Multi-Agent Systems", description: "A graph-attention model that recovers hidden interaction graphs from trajectory data while learning to predict the next state.", status: "Published paper", year: "2024", image: graphAttentionImage, imageAlt: "Graph attention model architecture diagram", tags: ["Graph attention", "Topology inference", "Kuramoto oscillators"], }, ]; export const metadata: Metadata = { title: "Projects", description: "Selected projects on world models, ML hardware, GPUs, deep learning, and the occasional multi-agent systems paper.", openGraph: { title: "Projects", description: "Selected projects on world models, ML hardware, GPUs, deep learning, and the occasional multi-agent systems paper.", }, }; export default function ProjectsPage() { return (

Projects

World models, GPUs, and deep learning systems.

Most of my current work sits around ML hardware, deep learning models, and world models for RL. This topology paper is the multi-agent exception.

{projects.length} active {projects.length === 1 ? "project" : "projects"}

{projects.map((project) => (
{project.eyebrow} {project.year} {project.status}

{project.title}

{project.description}

Read project
{project.tags.map((tag) => ( {tag} ))}
{project.imageAlt}
))}
); }