Forgotten Code, Found Stories
Rediscovering a forgotten generative project that shaped my path between words, form, and code.
While trying to recover files from an old, dying hard drive a few weeks ago, I stumbled upon a forgotten project from 2011 titled XYZ. I had completely erased it from memory—which, in hindsight, surprised me. That project was probably my first foray into the intersection of writing, typography, and programming: fields now at the core of my research-creation practice.
At the time, I had just started studying graphic design in Paris. The title XYZ wasn’t mine—it came from an assignment our professors gave. The brief was simple yet intentionally open-ended: design a weekly newspaper of “curious personal ads.” We were free to define its tone, form, and interpretation however we liked—a freedom we embraced with all the depth and wisdom you can expect from a group of 20-year-olds.
Back then, I became increasingly interested in creative coding—using code as an artistic medium. I mostly explored this idea through the generation of images or graphic forms. For instance, I created a generative logo for a fictional gaming console brand in another project. However, I had never considered applying code to the layout of text. With its editorial nature and textual foundation, XYZ struck me as the perfect opportunity to merge these two worlds for the first time.

The only constraint imposed by our professors was the theme: “curious personal ads.” No content or format was provided. Since I had chosen a generative approach for the layout, extending this logic to the content felt natural. So, I decided to generate the ads automatically, making the code a formal and conceptual tool.
At the time, my programming knowledge was limited to PHP and MySQL, so I turned to those languages naturally. On one side, I built a database with lists of French first names, verbs, adjectives, and adverbs—resources that were easy to find online. On the other, I wrote a PHP script based on a specific syntactic template:
{First name}, {age} years old, seeking a {man/woman} who is {adjective}, {adjective}, and {adjective}, to {verb} {adverb}.
Each element—the first name, age, gender preference, adjectives, verb, and adverb—was randomly selected by the script to create unique and often surprising combinations. Looking back, I recognize that the way gender preference was handled reflected a very binary understanding of gender; at the time, I simply wasn’t aware of the deeper nuances and complexities involved. You might also notice that the code randomly generated ages between 21 and 43—a somewhat arbitrary upper limit, likely because, back then, 43 already felt “old enough” to me.
Here are a few examples of generated ads (translated from the original French):
Alfons, 27 years old, seeking a man who is pigheaded, hydromineral, and stammering, to braid skillfully.
Lucia, 35 years old, seeking a man who is unbridled, Samaritan, and uninhabited, to sextuple enthusiastically.
Florine, 43 years old, seeking a woman who is angular, transcontinental, and accommodating, to enrage slowly.
Zlatan, 22 years old, seeking a woman who is superstitious, insistent, and grammatical, to amplify moderately.
The result felt absurd and funny—even fourteen years later, it still makes me smile.
Of course, the original ads were generated in French. What I’m sharing here is a translation. I haven’t tried to rerun the PHP script—it’s been years since I last used PHP on a computer, and I’m honestly not sure I’d still know how. I’m curious to rebuild the generator today, using other tools—maybe someday, if the opportunity arises. And why not, this time, in English?
Thank you for reading! In a future newsletter, I’ll share the rest of the project—especially the generative layout.





This can easily be done with vibe coding in Python: https://colab.research.google.com/drive/1G4_uM9dEcpKWHGdFIABVfo91E8imEvHD?usp=sharing
These curious personal ads are great! Enjoyed reading about the process.