SoulsOnly.tff – A font for humans not AI and keyboard firmware to type in it
billtarbell
46 points
24 comments
June 08, 2026
Related Discussions
Found 5 related stories in 105.4ms across 10,324 title embeddings via pgvector HNSW
- Show HN: TTF-DOOM – A raycaster running inside TrueType font hinting 4RH1T3CT0R · 40 pts · April 06, 2026 · 52% similar
- CodingFont: A game to help you pick a coding font nvahalik · 373 pts · March 30, 2026 · 49% similar
- FontCrafter: Turn your handwriting into a real font rendx · 443 pts · March 09, 2026 · 49% similar
- Show HN: Tiny pixel characters for Cursor AI agents balajmarius · 13 pts · March 20, 2026 · 48% similar
- Soul Player C64 – A real transformer running on a 1 MHz Commodore 64 adunk · 106 pts · April 20, 2026 · 46% similar
Discussion Highlights (5 comments)
billtarbell
Everyone rushing to make their content AI-friendly made me want to figure out how to make content AI-unfriendly. Basically human-written words meant for human eyes only. So I built "SoulsOnly.ttf": a font for humans not AI, and keyboard firmware to type in it. The implementation of a font can be "hacked" to make what looks like gobbledegook to a computer, render as legible to humans. Copying and pasting text written in the font into AI to summarize is almost impossible. And to avoid AI image analysis, a version of the font can be loaded with the glyphs scattered and require a simple "focus" interaction by the reader to begin reading. Note that a sufficiently prompted AI agent can definitely read this, so it's not meant to be cryptographically sound, more just unfriendly to the common AI reader!
cog-flex
I truly lovely this as a conceptual exercise. However, I worry it will be easy for an agent to decompose. That said, well done.
blahgeek
Reminds me of an anti-crawl mechanism I encountered some time ago in a financial data provider's website: for all numbers in the table, a special font is used where 0~9 are randomly rendered as different chars (e.g. '0' is rendered as 5, '1' is rendered as 8, etc.). The backend server returns the "encoded" chars, and is then correctly "decoded" by the font. The font changes after each reload. So humans always see the correct numbers, but when some crawler uses the HTML source, the numbers are incorrect.
vips7L
Hilarious that Claude was used to make it.
john_strinlai
neat idea! it is slightly amusing to find " btarbell and claude committed 2 weeks ago " in an anti-ai project.