Alright, so check this out. The other day I saw this headline, “the guy that played overwatch died,” and I was like, “Damn, that’s heavy.” But then my brain started firing, and I thought, “Wait a minute, could I make a script or something that pulls obituaries and matches them to popular gamer tags?” That’d be wild, right? A way to like, commemorate fallen heroes, in our own messed up, techy way.
So, first thing’s first, I needed to find a reliable source of obituaries. I started Googling around, looking for APIs or datasets, and landed on a few sites that aggregate obits. Scraped one that seemed relatively clean – I’m not gonna name names, gotta protect my sources, you know? It was messy. HTML soup. Tables within tables. But nothing a bit of Python and BeautifulSoup couldn’t handle.
Here’s the initial code I threw together:
- Imported `requests` to fetch the HTML.
- Used `BeautifulSoup` to parse the HTML and navigate the DOM.
- Targeted the specific HTML elements containing the names and dates.
- Extracted the text, cleaned it up (removed extra spaces, etc.).
Okay, so I had a list of names and dates of death. Cool. But I needed gamer tags. Where the heck was I gonna get those?
Then I remembered a buddy of mine works at a gaming company. I hit him up, explained what I was trying to do (minus the whole ‘dead gamer’ part, kept it vague), and asked if he had access to any publicly available gamer tag lists. Turns out he did! He sent me a CSV with thousands of Overwatch player names. Score!
Now, the tricky part: matching the names. This wasn’t as simple as just comparing strings. People’s real names are different from their tags. So, I started playing around with fuzzy matching.
I used the `fuzzywuzzy` library in Python. It’s awesome. You give it two strings, and it tells you how similar they are. I set a threshold – if the similarity score was above a certain number (I started with 80, then tweaked it), I’d consider it a match.
The matching logic looked something like this:
- Iterate through each obituary name.
- Iterate through each Overwatch player tag.
- Use `fuzzywuzzy` to calculate the similarity score.
- If the score is above the threshold, log the match (name, tag, date of death).
Ran the script. And… nothing. Well, almost nothing. I got a few false positives. Turns out, there are a lot of people with common names. It matched “John Smith” from the obits to “JohnSmithOverwatch” which was totally wrong.

Time for iteration. I realized I needed more context. I started scraping more information from the obituaries – age, location, cause of death (if available). Then I tried to match that info to social media profiles associated with the gamer tags. This was tough. Most people don’t put their real name and age on their Twitch or Twitter.
But I did find some success by checking for locations. If the obituary said the person was from California, and the gamer tag’s Twitter profile mentioned California, that was a stronger match.
After a ton of tweaking and cleaning data, I got the script to a point where it was spitting out a handful of potential matches. I’m talking maybe 2-3 matches out of thousands of obituaries and gamer tags.
The results were… sobering. Seeing the names and dates of death next to these gamer tags, it hit me harder than I expected. It wasn’t just code anymore; it was real people. People who loved playing Overwatch, and now they’re gone.
I’m not sure what I’m going to do with this script. Maybe just keep it as a personal project. Maybe try to improve the accuracy even more. But one thing’s for sure: it made me think about the lives behind the screens, and the importance of remembering them, even in our digital world.
It’s a rough script, and it’s far from perfect. But it’s a start.