Red Hat Resume was a short-lived project I put together back in January, at the height of the ICE situation here in the United States — a federal agency run as a machinery of intimidation and spectacle, state cruelty dressed up as ordinary administration. It was made for fun, to point out the corruption, the brutality, and the oppression being put forth by the Trump administration.

It was unveiled at my thirtieth birthday party. We got a kick out of showing it off to all my friends, and I got some quiet thank-yous from some of our more vulnerable friends who have loved ones who would be targeted by this Gestapo. It ran for a few weeks and saw double digit users test it. Then I retired it, and this blog post is how it will live on in the archives.

What Was It?

At its core, I wanted to design a system that encapsulates the personas of the kind of people who would support ICE and apply to become an ICE agent. I wanted a system that would let users generate resumes embodying the fully qualified recruit in a few button clicks.

The original idea was to flood the ICE application process with a pile of satirical resumes to gunk it up some, make recruiting harder to do. I chickened out on that part, largely because I didn’t know what the legality of it was, so we slapped a huge satirical use only label on it and kept the core functionality alive. That dual purpose confused most people, and I think the joke was lost on a lot of folks. When it did land, it was killer, because it generated fully qualified, clean-looking resumes with exactly the bottom-of-the-barrel qualifications that folks like Stephen Miller were looking for when he was staffing the Gestapo.

In the end it didn’t accomplish much in the grand scheme of things, but it was a fun exercise in highlighting the main perpetrators in this effort to control the population. It was fun to make, and fun to learn what actually needed to be set up on the front end and the back end.

How It Worked

A React single-page app on the front end, a FastAPI service on the back end, and a structured-output LLM call in the middle. The persona, domain, themes, and struggles the user picked got assembled into a prompt against a static, cacheable system prompt; the model returned a parsed resume object; a seeded, LLM-free planner filled in the education, certifications, and awards deterministically so the same inputs always produced the same credentials. If the model refused or the API fell over, a fallback assembled a resume straight from the theme exemplars.

The Combination Machine

None of the writing was freeform. The whole thing was built out of four independent input tracks, and the user picked from each one: a persona (23 of them), a domain (27), one or more theme packs (10 packs holding 95 hand-written exemplar lines between them), and any number of struggles (24) for the applicant to have heroically overcome.

Those four selections got mixed into a single prompt. The persona and domain set who is talking and what industry they’re pretending to have mastered. The theme packs supply exemplar bullets as seed material — not output, just the flavor the model was told to write in. The struggles get woven through every section, which is where most of the joke actually lands.

That prompt went out as the dynamic half of the request, sitting behind a system prompt that never changed byte-for-byte so it stayed cacheable. The model wrote fresh bullets in the persona’s voice and handed them back through a strict schema.

The point of splitting it up that way is that a fairly small pile of hand-written material covers an absurd amount of ground once you let it combine. Pull the levers below and see what the model actually received.

The People It Highlighted

Below is a capture of the wall of faces the site put on display — the main perpetrators of the ICE situation, in their own costumes.

A grid of portraits of administration figures and ICE personnel featured on the Red Hat Resume site
The faces, costumes, and propaganda aesthetics that ran down the length of the site.

These are the people who lie to the public, gaslight the press, and make decisions that benefit very few at the expense of many. They push an agenda of oppression that drives people apart and makes America less of a celebration of diversity and freedom and more of a dystopian nightmare. I wait patiently for the day when they are all held accountable, and may their family and friends be forever ashamed of them.