+
FEN
@@ -117,14 +117,14 @@ export const ExportGame: React.FC = (props) => {
role="button"
tabIndex={0}
onClick={() => copy(fen)}
- className="border-1 group flex w-full cursor-pointer overflow-x-hidden rounded border border-white/5 p-1"
+ className="border-1 group flex w-full min-w-0 cursor-pointer overflow-x-hidden rounded border border-white/5 p-1"
>
-
+
{fen}
-
+
@@ -144,7 +144,7 @@ export const ExportGame: React.FC = (props) => {
role="button"
tabIndex={0}
onClick={() => copy(pgn)}
- className="group flex w-full cursor-pointer overflow-x-hidden overflow-y-scroll rounded border border-white/5 p-1"
+ className="group flex h-40 max-h-40 min-h-40 w-full min-w-0 cursor-pointer overflow-x-hidden overflow-y-scroll rounded border border-white/5 p-1"
>
{pgn}
diff --git a/src/components/Common/Footer.tsx b/src/components/Common/Footer.tsx
index 05c6537f..80ffa025 100644
--- a/src/components/Common/Footer.tsx
+++ b/src/components/Common/Footer.tsx
@@ -18,13 +18,17 @@ export const Footer: React.FC = () => {
title: 'Research',
links: [
{
- href: 'https://arxiv.org/abs/2006.01855',
- text: "Maia Paper (KDD '20)",
+ href: 'https://arxiv.org/abs/2605.19091',
+ text: "Maia-3 Paper (ICLR '26)",
},
{
href: 'https://www.cs.toronto.edu/~ashton/pubs/maia2-neurips2024.pdf',
text: "Maia-2 Paper (NeurIPS '24)",
},
+ {
+ href: 'https://arxiv.org/abs/2006.01855',
+ text: "Maia Paper (KDD '20)",
+ },
{
href: 'https://csslab.cs.toronto.edu/research/',
text: 'CSSLab Research',
@@ -32,16 +36,20 @@ export const Footer: React.FC = () => {
],
},
{
- title: 'Opensource',
+ title: 'Open-Source',
links: [
{
- href: 'https://github.com/CSSLab/maia-chess',
- text: 'Maia Model',
+ href: 'https://github.com/CSSLab/maia3',
+ text: 'Maia-3 Model',
},
{
href: 'https://github.com/CSSLab/maia2',
text: 'Maia-2 Model',
},
+ {
+ href: 'https://github.com/CSSLab/maia-chess',
+ text: 'Maia Model',
+ },
{
href: 'https://github.com/csslab/maia-platform-frontend',
text: 'Maia Web Platform',
@@ -153,7 +161,7 @@ export const Footer: React.FC = () => {
- © 2025 Maia Chess. All rights reserved.
+ © 2026 Maia Chess. All rights reserved.
diff --git a/src/components/Home/AboutMaia.tsx b/src/components/Home/AboutMaia.tsx
index b1deaae2..8299e77b 100644
--- a/src/components/Home/AboutMaia.tsx
+++ b/src/components/Home/AboutMaia.tsx
@@ -42,6 +42,14 @@ const teamMembers = [
role: 'Model Developer',
github: 'lilv98',
},
+ {
+ image: '/assets/team/daniel.png',
+ name: 'Daniel Monroe',
+ website: 'https://daniel-monroe.github.io/',
+ institution: 'University of Toronto',
+ role: 'Model Developer',
+ github: 'daniel-monroe',
+ },
{
image: '/assets/team/kevin.jpg',
name: 'Kevin Thomas',
@@ -75,19 +83,44 @@ const teamMembers = [
},
]
-const researchPapers = {
+interface Paper {
+ title: string
+ link: string
+ description: string
+ image?: string
+ shortName?: string
+}
+
+const researchPapers: {
+ maia1: Paper
+ maia2: Paper
+ maia3: Paper
+ others: Paper[]
+} = {
maia1: {
title:
'Aligning Superhuman AI with Human Behavior: Chess as a Model System',
link: 'https://www.cs.toronto.edu/~ashton/pubs/maia-kdd2020.pdf',
description:
'This paper introduces Maia, a chess engine trained to imitate real human moves at different rating levels. Instead of always picking the best move, Maia predicts what a human player of a given skill would actually play. This makes it ideal for training, game analysis, and even coaching, as it helps players learn from realistic decisions rather than computer perfection. It was the first AI to prioritize human-likeness over engine strength, making it a powerful tool for improvement.',
+ image: 'maia1',
+ shortName: 'Maia 1',
},
maia2: {
title: 'Maia‑2: A Unified Model for Human‑AI Alignment in Chess',
link: 'https://www.cs.toronto.edu/~ashton/pubs/maia2-neurips2024.pdf',
description:
"Maia‑2 is the evolution of Maia into a single model that can simulate any skill level in chess. Instead of using separate models for different ratings, it understands and adapts to your level in real time. Whether you're a beginner or a master, Maia‑2 predicts the moves players like you would actually make. It's built to feel human, teach naturally, and support personalized analysis without needing to toggle between bots.",
+ image: 'maia2',
+ shortName: 'Maia 2',
+ },
+ maia3: {
+ title: 'Chessformer: A Unified Architecture for Chess Modeling',
+ link: 'https://arxiv.org/abs/2605.19091',
+ description:
+ 'Introduces Chessformer, a transformer-based architecture that unifies chess modeling to capture how human players make decisions across a wide range of skill levels.',
+ image: 'maia3',
+ shortName: 'Maia 3',
},
others: [
{
@@ -125,7 +158,7 @@ const PaperCard = ({
featured = false,
className = '',
}: {
- paper: typeof researchPapers.maia1
+ paper: Paper
featured?: boolean
className?: string
}) => (
@@ -146,7 +179,7 @@ const PaperCard = ({
{featured && (
)
@@ -172,7 +205,7 @@ const PaperCard = ({
rel="noreferrer"
className="inline-flex w-full items-center justify-center bg-human-4/80 px-5 py-3 font-medium text-primary transition duration-200 hover:bg-human-4"
>
- Read {paper.title.includes('Maia‑2') ? 'Maia 2' : 'Maia 1'} Paper
+ Read {paper.shortName} Paper
)}
@@ -248,46 +281,17 @@ export const AboutMaia = () => {