The Manderley Archives Series

The Residents

Part 2 of 3

As mentioned in the prologue, I didn’t pursue the idea of building a digital model of the McKittrick Hotel because I couldn’t find the right tools to do it in the way I envisioned.

But now that some personal matters had settled and with a month of time at my hands, I asked myself: “if I don’t find a tool, should I just see if I could build it myself?”. I gave myself a timebox of 3 days to see if this seemed feasible.

Data Collection

During the initial exploration I already realized that most fans will probably remember the faces of the residents. And potentially also their names. To really transport you back into the hotel, I knew that I would need:

  1. the cast lists of the show,
  2. the residents’ portraits.

The Cast Lists

There is no official data on this. After each show, a cast board would be hung up, indicating who the residents were for the current show. But you wouldn’t know what role they were playing. And the cast changed every show, sometimes twice a day.

This is also the case in Shanghai (pictured here) and Seoul

So getting this data is completely dependent on fans taking pictures of the cast board and also identifying the residents during that show… for more than 14 years!

And as unlikely as it sounds, a lot of that data was actually collected. The /r/sleepnomore/ subreddit actually had a pinned post to the The Ultimate SNM Cast List Archive a.k.a. the SGD (Sprawling Google Doc). A fan named Frost had consolidated cast lists collected from many fans over the years into this wonderful spreadsheet.

While this data was incomplete, it was good enough to get started. So I wrote a script to convert that data into something more usable, normalizing some typos and linking the data together so that I could run statistical analysis on it.

The Portraits

First I thought this would be easy as the spreadsheet also had one sheet called “Cast Photos”. Sadly, it was empty. That would have been easy I guess.

The McKittrick website always had portraits of the current residents and I assumed someone would have grabbed them all. I was easily able to grab the 32 that were still up on the semi-archived website. But for the rest I reached out on the Discord on to no avail.

So I went to the Internet Archive’s Wayback Machine and searched for the portraits myself. I collected 154 portraits (for the roughly 250 residents that have been in the show). Not bad but not great either.

I shared my archive with the Discord and asked if anyone had a few of the missing ones (ranked by appearance in the cast list). After collecting them all, it was about matching the files to cast members. Sometimes I would have multiple pictures, some of them better, other worse. Sometimes with weird things drawn on them.

Again, this is a great opportunity for AI to help out while requiring a bit of manual work: I prompted Claude Code to build a small web app to pick the best portrait for each resident. It would also do some pre-ranking based on image size and calculated quality. I never looked at the code for this (this is called vibe coding if you’re not familiar with the term). A designer friend of mine would probably call this a hyper-situational interface as this interface is only needed once.

The vibe-coded portraits ranking app

I also needed to crop the portraits to a uniform 4:3 portrait style. The problem with this automated cropping was that it often cropped away parts of the face. A small face recognition system figured out where the faces and made sure to only crop towards the face and not the center of the image. And in a final step, the images would be converted to gray scale to be consistent, as some were sepia or colorized.

The Side Quest

So, now that I had all that data, I thought that it shouldn’t be that hard for people to find out who was a resident in the show and what they looked like. Should I maybe build a small website just for that? To make the data a bit more accessible than a spreadsheet? To also a form of appreciation for the all these residents that made the show what it is? And the fans that collected all this data?

So, this while I had made already some progress on the editor, we’ll ignore that for now and focus on this side quest that eventually shipped as manderley.ink.

Design

The original McKittrick website used white and gold as its primary colors, so I wanted to capture that style. The idea was kind of having a year book vibe, with portraits of the residents and some basic information about them.

Features

  1. A calendar view
  2. A user-friendly date picker to easily go to your last show.
  3. A resident portrait grid (searchable)
  4. A role grid (searchable)
  5. A resident profile page (portrait, name, persona name, years active, roles)

Because many residents were in the show for so long, a list of dates would be rather unreadable. One thought that I had in mind was to use a heat map for this (software developers might be familiar with or even dread GitHub’s contribution graph): instead of listing each dates, I would colorize a month square depending on how often that resident was in the show during that month. This would give a quick visual indication of how long they were in the show and when.

A heatmap showing my GitHub contributions in 2024

Implementation

So, if you have that list, it’s fairly easy to instruct AI agents to build a website with that data. Additionally, it’s a really good idea to pick and specify the right tech stack and code styleguide for before letting the AI generate code.

That said, the devil will be in the details. And in my opinion that separates dishing out “AI slop” from building something beautiful and usable: you need to test and iterate on the output. And I required a lot of iterations to get to the outcome, sometimes taking over manually.

Finishing Up

Asking for Permission

On I reached out to Frost to tell him about the project and asked if he’d be okay if I published it. In the end it heavily relies on his data. In hindsight, it might have been smart to do this a bit earlier. But sometimes it’s good to actually show the intent clearly.

It actually led to him sharing it with a trusted circle of fans first. This allowed me to get some early feedback but also… more portraits!

Trophies

Generally, the page felt pretty serious but also a bit… empty. I wanted to add some fun elements to it. So I added a trophies section to each resident profile, based on some statistics that I could calculate from the data. A few examples of some rare trophies:

  • Full Circle: Jordan Morley was in the original also final cast.
  • Incarnate: Nick Atkinson (as Person-in-Bar) and Phil Atkins (as Duncan) only every played one role but did it more than 100 times.
  • Wonder Woman: Kristen Stuart performed in all 10 roles that were available to her.
  • Is that all there is to a Streak?: Evik Abbot-Main performed for 12 consecutive years (2012–2024) before leaving for Shanghai (a streak freeze 🧊 was granted for 2021).

Besides 20 other trophies, some GOAT 🐐 trophies were handed out to the residents that inhabited their roles the most. For example, Louis Butelli is the GOAT “Reverend” while Karen Marie Richardson is the GOAT “Singer”.

Naming Things

I realized I would need a domain and a name. I wanted to have something that would evoke the feeling of the hotel and the show, but not directly infringe on the IP. So I went with manderley.ink as the domain and “The Manderley Archives” (of the McKittrick Hotel in NYC) as the title.

Testing and Feedback

Frost and some friends had identified a few issues and the SGD was updated with some corrections. Additionally, Louis Butelli had reached out to Frost regarding a casting question for Part 5 of his blog series and so was one of the first people to saw the project. I can’t thank him enough for his words of appreciation and encouragement. The 🐐 is dedicated to you!

During the final rounds of testing, I realized that when sharing links to it on social media (or in messaging apps), the preview would be pretty bad. So I generated some so-called Open Graph images for each page. Frustratingly, platforms can’t agree what size and aspect those should be…

A square iMessage preview of a Louis Butelli's profile.

Now, everything was in place. Domain registered, bugs squashed, features implemented, and feedback incorporated. And so on

On I shared it with the Discord server while Louis shared it in his Substack.

Reception

In the days after the publication, I received a lot of nice messages and thank yous, from fans and even from some residents. It was really heartwarming to see how much people appreciated it:

  • This is absolutely wonderful work! Thank you so much for creating this and sharing it with the community. 👏🏼

  • Holy fuck. – OldManPaisley

But as you now know, this was just the side project…