I wrote a tiny open source **4-ch.net viewer** that runs over **Gopher**. The interesting part is the format. It uses my *gopher applet* style: a **README that is also a literate Haskell script**. You run it directly: ./4_ch.md No build system. No framework. Just `runghc`. Writing it this way felt like a strange inversion of TDD. Instead of tests, the README comes first. The code exists to obey the explanation. "README-driven design." This works especially well for: - small scripts - teaching Haskell - self-documenting infrastructure It breaks down for large systems. That is a feature. The applet plugs straight into **Venusia**, speaks RFC 1436 natively, and keeps dependencies close to zero. A 2000s textboard, viewed like its the 90s, implemented like a literate essay. Live here: gopher://gopher.someodd.zip:70/1/gateway/4_ch Source: https://github.com/someodd/small-gopher-applets/blob/master/4_ch.md