Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions _news/announcement_12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
layout: post
date: 2026-10-17
inline: true
related_posts: false
---

I started [Boxi Math](https://boxi-math.github.io/), free K–12 maths videos in English and Chinese that show why maths works, organised by stage rather than school year. The videos and text are CC BY 4.0, and the tools behind them are open source at [animind-ai](https://github.com/animind-ai). See [education equity](/#equity-heading).
29 changes: 29 additions & 0 deletions src/data/equity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* Free and open education work, shown in the homepage "Education equity"
* section. Boxi Math is the public K-12 maths site; animind is the open
* toolchain its videos are made with.
*/
export const equityProjects = [
{
id: 'boxi-math',
name: 'Boxi Math',
verb: 'Learn',
status: 'First videos in production',
description:
'Short K–12 maths videos in English and Chinese. Each answers one “why” and draws it so you can see it. Organised by stage rather than school year, with the matching year in China, the US, the UK, and Singapore.',
detail: 'Free · CC BY 4.0 · English & 中文',
href: 'https://boxi-math.github.io/',
cta: 'Visit the site',
},
{
id: 'animind',
name: 'animind',
verb: 'Make',
status: 'Open source',
description:
'The tools behind the videos: a format for describing a teaching scene and a vector animation engine, so any teacher can make videos like these without a studio.',
detail: 'MIT · Python',
href: 'https://github.com/animind-ai',
cta: 'View on GitHub',
},
] as const;
43 changes: 43 additions & 0 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import ResearchMap from '../components/ResearchMap.astro';
import { site } from '../data/site';
import { oneaiOlympiadSchools, oneaiSchoolCount, oneaiSubjects } from '../data/oneai';
import { pacificProducts } from '../data/pacific';
import { equityProjects } from '../data/equity';
import { formatDate, getWriting } from '../lib/writing';
import { news } from '../lib/legacy';

Expand Down Expand Up @@ -163,6 +164,42 @@ const latest = [
</div>
</section>

<section class="home-section wrapper equity-section" aria-labelledby="equity-heading">
<div class="home-section-head">
<div>
<p class="eyebrow">AI education · free and open</p>
<h2 id="equity-heading">Education equity</h2>
</div>
<a href="https://boxi-math.github.io/">Visit Boxi Math <span aria-hidden="true">↗</span></a>
</div>
<p class="home-intro">
A good tutor is still a luxury. I want every child to understand why maths works, whatever
their family can pay and whichever language they speak. So I make maths teaching that is free
to watch and free to reuse, with AI tools I release as open source.
</p>
<div class="pacific-grid equity-grid">
{
equityProjects.map((project, index) => (
<article class="pacific-card">
<div class="pacific-card-top">
<span class="pacific-card-index">0{index + 1}</span>
<span class="pacific-card-status">{project.status}</span>
</div>
<p class="pacific-card-verb">{project.verb}</p>
<h3>{project.name}</h3>
<p class="pacific-card-copy">{project.description}</p>
<div class="pacific-card-footer">
<span>{project.detail}</span>
<a href={project.href} target="_blank" rel="noreferrer">
{project.cta} <span aria-hidden="true">↗</span>
</a>
</div>
</article>
))
}
</div>
</section>

<section class="course-section" aria-labelledby="course-heading">
<div class="wrapper course-grid">
<div>
Expand Down Expand Up @@ -511,6 +548,12 @@ const latest = [
.pacific-card:nth-child(3) {
background: linear-gradient(155deg, var(--buttercream-soft) 0%, var(--paper-raised) 58%);
}
.equity-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.equity-grid .pacific-card {
min-height: 320px;
}
.pacific-card-top,
.pacific-card-footer {
display: flex;
Expand Down
Loading