Nicholas Egan

I work on machine learning and software, currently at OpenAI.

Previously at Glean, Gauntlet, and Primer. Interned at Robinhood, Facebook, Airbnb, and Priceline. Studied computer science at MIT.

Selected projects

From over the years

Word-by-word information visualization from the Shannon Game presentation, with words highlighted in lavender

AAAI paper ·

Play the Shannon Game with Language Models

How much of a document’s information does its summary preserve? This paper measures how much a summary helps a language model predict the original document, replacing the human guessers in the classic Shannon Game. The resulting Shannon Score and Information Difference metrics evaluate summaries without human-written references. On the SummEval benchmark, they showed strong agreement with human judgments of coherence and relevance. I presented this work as an oral presentation at AAAI 2022.

Master’s thesis ·

Natural video synthesis

My MIT master’s thesis explored how to turn image-generating GANs into video-generating models. I introduced “model inflation,” which adapts a trained image model to produce video and improved training speed, stability, and output quality in my experiments. I also developed a segmentation-to-video model: given a scene layout or hand-drawn sketch, it generates a matching video. The demo shows those sketches becoming moving landscapes.

Research ·

Generalized GAN reversal

A GAN turns a latent vector into an image, but finding the vector that corresponds to an existing image is much harder. This project extended techniques for reversing that process to models with Gaussian latent distributions, using food photos from the Yelp dataset to test the approach. It began as a final project for MIT’s graduate machine learning course, 6.867, and went on to win Round 11 of the Yelp Dataset Challenge.

Text Inflator’s writing editor and expansion controls

Web tool ·

Text Inflator

Text Inflator expands a block of writing without adding any ideas, meaning, or value. Paste in some text and adjust the “desperation” setting to control how verbose it becomes. It had 10k monthly users before ChatGPT made it obsolete.

Poster for Primer AI’s systems for acronym identification and disambiguation

AAAI workshop ·

Understanding acronyms

Scientific papers often use the same acronym to mean different things. At Primer, I worked on models that identify acronyms and choose the right expansion from context, using token embeddings for identification and similar sentence embeddings for disambiguation. The work also introduced two distantly supervised training datasets, AuxAI and AuxAD, and a deduplicated version of SciAD after uncovering overlap in its data. All three datasets were released publicly.

N Chainz architecture, with token chains connected to a match chain

Exchange prototype ·

N Chainz

N Chainz was a decentralized exchange prototype built around multiple cooperating blockchains. Each token had its own chain, while a separate match chain coordinated trading and consensus across them. The reference implementation included peer-to-peer nodes, miners, a matching engine, wallets, a command-line client, and a web order book. The project won the Binance Dexathon.

The original Showy presentation app’s homepage

Presentation tool ·

Showy

Showy let people give presentations directly on their audience’s devices instead of relying on a shared projector. A presenter could build slides in the browser, share a link, and control the presentation from an admin page while everyone followed along on their own screen. The entire experience ran in a browser, so presenters and audiences could use it across different devices without installing an app.

Physics Sketchpad on an Android phone, showing objects and force vectors

Android app ·

Physics Sketchpad

Physics Sketchpad is an Android physics simulator for exploring how forces affect objects. You can change gravity, collisions, drag, and acceleration to build different experiments, from orbiting planets to projectile motion. It supports both a global gravitational field and attraction between individual objects, so the same sandbox can model very different systems just by changing the forces.