A typeface tuned for AI text that streams in word by word
Seb Sans: a variable screen grotesque for AI interfaces, installable by people and coding agents.
652glyphs across 3 axes and 9 named weightsv0.7.2, OFL-1.1 · measured
Why it was hard
Streaming text is read while it is still moving.
Answers arrive a few words at a time, reflow as they grow, and mix prose with code and tables. Type that looks fine in a static mock can shimmer and fatigue in a live transcript.
Today, the font is often installed by a coding agent rather than a person, so the install path mattered as much as the letterforms.
- Readable at 13–16px
- Open license
- Agent-safe installs
Key decisions
I optimized for the transcript, not the poster.
Decision 01
Start from Inter’s skeleton
I built on Inter’s open-source structure and spent the effort on rhythm, spacing, and weight for chat transcripts and summaries.
- Instead of
- Drawing a new family from scratch.
- Trade-off
- Seb Sans shares Inter’s bones, so it is less distinctive at display sizes.
One variable file covers the full weight range. Six stops from 300 to 900, all from the same font file. Decision 02
Tune for streaming, not static pages
Spacing and weight are set so a sentence holds its shape as words arrive and lines rewrap mid-read.
- Instead of
- Tuning for large marketing headlines, where most typefaces are judged.
- Trade-off
- Big headlines need tighter manual tracking to look their best.
Set at reading size with a live caret. Text that streams in should not jump when the next word lands. Decision 03
Make installation safe for agents
Every install path is non-interactive and idempotent, and ships a typography skill agents can read to apply the right weights and leading.
- Instead of
- A zip download and a README for humans.
- Trade-off
- More engineering than a typical font release: a CLI, checksums, and a JSON manifest.
Numerals, punctuation, and symbols get the same care as letters, because AI answers are full of them.
Result
Live on npm, and running this entire site.
- 652Glyphsv0.7.2 · measured
- 3Variable axesv0.7.2 · measured
- 13–16pxTuned UI rangedesign target · measured
Seb Sans is published as seb-sans-font under the OFL-1.1 license, with a specimen, installer, and agent manifest at /seb-sans.
Reflection
Next: a mono companion for code in AI answers.
Generated answers mix prose and code constantly. A matching monospace would keep that switch from feeling like two products.