Codenames

A codename system for my personal projects.

PROJECT ARVADA
 -- LEVEL 3
 -- A.K.A. PROJECT ARVADA / DIJON / HULL
 -- A.K.A. INITIATIVE UNSHINED METEOR
 -- PID 01KDKR9Z6Z9NBA0WYGWMYEF9T4 -- 019B6784-FCDF-4D56-A073-D0E53CE7A744 @ 19:32 12/28/25 -- 1766968327391
 -- PDC FREDDIE-GUIDE-CAPITAN--NATIVE-CARMEN-PATRIOT:ANNUAL-PARDON-NICE--EDITOR-CUPID-MARVIN

Background

Governments often assign codenames to military operations and projects. Germany famously used the moniker Wotan for a secret radar system, and that “clever” name led directly to its compromise by the RAF (Wotan—aka Odin—was a god with one eye, so the RAF guessed that the project used single-beam radar, which they easily jammed). The RAF subsequently created Rainbow Codes to prevent a similar security breach of their own projects. These codes used a randomly selected component (a color) and a component selected from a list (a noun) to produce names which, while staying memorable, were not related to their project, thus preventing any guesses about the project subject.

I’ve run into a vaguely related issue on a personal front. Names are one of the traditional “two” hardest problems in computer science, and for a certain type of person (like me), they can make it hard to start a project without a “perfect” name (or even to decide on a repository name).

Taking these two together, I realized that having a way of randomly or semi-randomly creating project names—names purposefully not related to the subject matter—could simplify the process of starting a project, while also enabling me to refer to the project without further explanation.

In classic engineer fashion, I developed a software solution, one with a couple of handy extra features.

I’ll save a longer discussion of the process for a full blog post later. In short, I sourced a set of over 600k words, along with their hyphenation and parts of speech, from the 1996 Moby lexicon project. This allowed me to build a database of words by syllable count, from which I created a database backing my naming system.

The Codenames

Each of my personal projects, at its inception, is granted four randomly selected codenames: a single-syllable name, a two-syllable name, a three-syllable name, and a fourth name consisting of a 1-2 syllable adjective and a 2-3 syllable noun. This allows me to encode “project readiness” directly with the ability to say a project quickly, without making names too difficult to recall. A project with a single-syllable name like PROJECT HULL is a mature project; a project in its early stages will have a name like INITIATIVE UNSHINED METEOR. A project can move between these names as it is developed.

Furthermore, each project gets its own ID (a UUID or ULID depending on the iteration of the system), and the ID is further run through Oren Tirosh’s mnemonic encoder so it can be communicated verbally if needed.

Projects

Some of the projects using these codenames are listed on the projects page.