Kept Type

Two typefaces, kept.

We are a tiny team making a to-do app, and somewhere along the way we accidentally became font people. These are the two typefaces that came out of it: Kept Sans, which speaks every word of the interface, and Numen Title, which gets the headlines. Both are open source, both were measured before they shipped, and this page is the story of where they came from, including the parts where we were wrong.

The system

Three voices, one rule

Our system has three voices, and once you hear it you cannot unhear it. Kept Sans talks when the product talks: buttons, lists, labels, the words you read a thousand times a day without noticing. Numen Title speaks up when something deserves a headline. And JetBrains Mono handles every numeral that carries meaning, because a 6 that could be an 8 in your calorie count is not a style choice, it is a bug.

The rule over all three we borrowed, with admiration, from Bear’s type program: personality, but never enough to distract. Nothing below was changed because it looked cool in a mockup. Every change either scored points in the index or carries the brand, and we say which is which.

01 · the interface voice

Kept Sans

live specimen · KeptSans-SemiBold.woff2
Keep your life effortlessly organized.
Regular 400SemiBold 600Bold 700Illinois 011l · kept ✓

We did not draw Kept Sans from nothing, and we would never pretend we did. The skeleton is Figtree, by Erik Kennedy, which we picked by lining up eleven candidates and staring at them for an afternoon: it already lives where Kept lives, somewhere between Helvetica’s discipline and Avenir’s warmth. The K, the k, and the ampersand come from Albert Sans, because Albert hides an Et-style & in its stylistic sets that we fell for on sight.

Then we tested it, and version 1 embarrassed us: 18th of 20 in our own index. Which, honestly, was the best thing that could have happened, because the data showed exactly which letters were dying and where. So version 2 is not a redesign. It is five very specific corrections, each one paid for with a measurement.

x → x
A taller lowercase
The lowercase grew 6%, and ascenders now rise past the caps the way text faces have done for centuries. Worth +5 points at 9 px alone.
l
A tail on the l
A small flat foot, drawn from the stem’s own thickness. At reading sizes it disappears. In codes, l stops impersonating 1 and I. +1.9 points.
I
Serifs on the I
Crossbars end the I’s identity crisis. The same move Verdana and Atkinson Hyperlegible make, at Figtree proportions. +2.0 points.
i l j
Room for the narrow letters
Wider side bearings on the five narrowest glyphs and a whisper of tracking everywhere. Spacing is most of why Verdana wins; now it works for us too.
0
The slash we rejected
A slashed zero tested worse, the reader kept mistaking it for 8. We kept the oval zero and published the failed experiment anyway.
t ·
The marks that stay
The t ends in the flick of a finished checkmark. The interpunct is grown 20%, because “·” is how Kept speaks. Brand, not benchmark, and priced in.
The letters I, k, l, 1, and 0 in Kept Sans v2 overlaid on Figtree, showing the new serifs on I, the tail on l, and the taller lowercase.
kept sans v2 (orange) over figtree (navy) · the serifed I, the tailed l, the taller x-height
index v3.1 96.3% · top tier, ahead of Verdanaversion 1 90.4% · 18th on protocol v2ahead of Inter by +1.5 · at the edge of the CIbody at 9 px 81.2 → 95.2 (v1 → v2)
02 · the headline voice

Numen Title

live specimen · NumenTitle-Bold.woff2
Kept keeps what matters.
RegularSemiBoldBoldExtraBoldWork & Life · kept ✓

Here is the embarrassing part of this page. We loved Instrument Serif. Every headline in our app wore it, and at poster sizes it truly is gorgeous. Then our own index put it dead last, and the failure mode was not subtle: its delicate hairlines simply evaporate at the sizes where headlines actually spend their lives, in thumbnails, notification banners, previews, the corner of your eye. We had shipped a headline font that only worked if you stared straight at it.

So we went looking for a serif with Instrument’s elegance and none of its fragility, and auditioned nine open families under the same machinery. The winner, by a comfortable margin, was Fraunces, by Undercase Type, a variable design space that contains both temperaments. Numen Title is Fraunces with its axes pinned where the data pointed: the optical size that keeps display presence but refuses to shatter, soft serifs, because this face is serif in spirit rather than doctrine, a 5% condensation with 2% more height to stand the way Instrument stood, and the Kept marks grafted in. Fraunces’ own ampersand stays. It would be vandalism to replace it.

opsz 52
The optical knee
Fraunces at display optical size scores 70.8, text optical size scores 93.1 but loses the glamour. We searched the axis and pinned the point that holds both.
SOFT 75
Serif in spirit
Softened serifs measured +2 points over hard ones under degradation, and they read warm rather than starched. The rare case where taste and data agree.
95%
Instrument’s stance
Condensed 5%, raised 2%. It costs half a point of accuracy and buys the tall, editorial posture the old headliner had. Priced and paid deliberately.
· ✓ ✗
The family marks
The grown interpunct and a native check and cross, drawn from the face’s own stem logic. Figures sit at cap height, built for headlines with numbers in them.
The letters K, e, p, t, a in Numen Title overlaid on Instrument Serif, showing sturdier strokes on the same editorial skeleton.
numen title (orange) over instrument serif (navy) · the same editorial spirit, strokes that survive
index v3.1 94.2% · the strongest display serifthe face it replaces 82.0%9 px body 55.0 → 95.2weights 6 · Light to ExtraBold

One honest scope note: in the index’s new crowding cell, tight leading and tracking, Numen Title drops to 79.5. Headline faces are never set tight, and this one should not be either; the number is published because publishing the losses is the point. Instrument Serif is not banished. It still sets the mantra inside the product, where it is stared at, adored, and never nine pixels tall.

Proportion

The scale between the voices

Sizes on Kept’s marketing surfaces climb by the golden ratio: each role is φ times the one below it. We will not pretend φ is a law of nature. It is a chosen discipline, it keeps every jump between text and headline feeling inevitable rather than arbitrary, and once chosen it removes a hundred small debates.

Body runs at seventeen 17 px · Kept Sans
Section heads at twenty-seven 17 × φ ≈ 27.5 px
Titles at forty-four 17 × φ² ≈ 44.5 px · Numen Title
Heroes at seventy-two 17 × φ³ ≈ 72 px
And one mission

The third font is not a brand

These two faces carry Kept. The index that built them also produced a third, with no brand marks and no agenda except being read: Legibility Sans, statistically tied with Verdana at the top of the table and the only typeface we measured that stays legible at 8 pixels. It has its own page, its own receipts, and the same license as everything else here.

Yours

Take them

Both families are free under the SIL Open Font License 1.1, the license their source families gave us. Derivatives stay open. The download carries every weight in TTF and WOFF2, the benchmark harness with its OCR source, and the full index dataset, so every number on this page can be checked or attacked.

Colophon · Kept Sans: Figtree by Erik Kennedy, K, k, and ampersand from Albert Sans. Numen Title: Fraunces by Phaedra Charles and Flavia Zimbardi, Undercase Type. Instrument Serif by Rodrigo Fuenzalida and Jordan Egstad. Pipeline: fontTools, skia-pathops, HarfBuzz, FreeType, Apple Vision. Set in its own binaries. Version 2, August 2026.