← Portfolio

Art · January 2021

Encyclopædia Mundi

A fake 1990s encyclopedia program whose entries drift from real Wikipedia text into GPT-2 generated nonsense, and back.

Role
Concept, interface design, full-stack development
Tags
Installation, Interaction Design, Artificial Intelligence, Electron
The Windows-98-styled interface of Encyclopædia Mundi, showing a search result mid-entry.

MFA Thesis, 2021.

Encyclopædia Mundi is a studio art installation built around a fake 1990s encyclopedia program, styled like something you’d find on an old Windows 98 machine. You search a topic, get a real opening line pulled from Wikipedia, then a chunk of text generated by GPT-2 that sounds grammatically fine but slowly goes off the rails: repeating itself, contradicting itself, getting weirdly obsessed with random details, before snapping back to a real Wikipedia sentence at the end. The whole thing comes wrapped in a fake backstory: a poster claiming the software was found at a yard sale, in-app notes from ‘developers’ at a fictional failing tech company. The first reaction is usually ‘wait, is this real?’ before the cracks show.

The point isn’t to trick people so much as to poke at how we decide what counts as trustworthy knowledge: encyclopedias rarely credit individual authors, so their authority comes from the format and presentation itself, not any named expert. Dressing up nonsense in that same authoritative packaging asks what happens to ‘truth’ once AI starts generating text that’s fluent but hollow. It ties into an ongoing interest in tech obsolescence — this time software going obscure rather than hardware decaying. Influences include Monty Python’s Dirty Hungarian Phrasebook (youtube.com) sketch, Lauren McCarthy’s 24H HOST (get-lauren.net), and Windows93 (windows93.net).

Technical implementation

###Client Component Built with Electron (Node.js), on top of a forked and extended version of jdan/98.css (github.com), an open-source Windows 98 UI library, but with modifications to reflect accurate shading, font-kerning, and off-by-one-pixel rendering errors, and validated against real Windows 98 screenshots and a VM installation. Extended it with genuine Win32 behaviour the base library didn’t support (right-clicking icon on title bar opens the system minimize/close menu, double-clicking quits) built with custom Electron IPC calls. The splash screen applies a dithering algorithm to a public-domain painting (Renoir’s Luncheon of the Boating Party) for a period-accurate, muted look.

Note: audio at 2:26; please check your volume beforehand. ‘Pitchman-Survoy Inc.’ (on the splash screen) is an anagram of ‘Voynich manuscript (en.wikipedia.org)’.

###Server Component A Flask backend retrieves a matching Wikipedia article and hands its opening sentence to a pretrained GPT-2 model (downloaded and run via Hugging Face’s transformers library) to continue the entry. The architecture was originally local (on-device GPT-2 on a ThinkPad T470), but on hardware without a discrete GPU, it took 30+ seconds per entry. Redesigned into a stateless REST client-server setup that offloads generation to a remote machine, cutting the average response to 3-7 seconds. To mask what’s left of the wait, the client streams the response character by character: a fixed, slower pace for the deterministic opening line, then faster once generated content actually arrives, with a blinking activity indicator as a fallback if generation runs long, This approach was directly inspired by dial-up BBS/MUD-era progressive text loading. When a search term is ambiguous (e.g. ‘Montgomery County’ can map to places in Virginia, Ohio, and Wales), the system picks randomly among the matching categories rather than asking you to disambiguate.