About this website
Who Did I Outlive? is based on a morbid idea by Danny Glasser.
Whence the data?
Information comes, of course, from Wikipedia. They provide an API to fetch data programmatically. Here's the sequence:
First, pages of notable deaths by year and month are parsed, looking for names.
Then, web requests for the full page of each name is kicked off, 50 at a time in separate threads.
Most biography pages have an "info box" where birth and death rates are stored in a standard format. There's high confidence that those biographical details are parsed correctly, but if no info box is found, an attempt it made to parse the English text. Such parsing probably isn't entirely reliable. There are many variations on how dates are entered. I can't possibly catch them all, but the algorithm gets updated from time to time to include more people.
Most famous people have clear death dates, but many birthdates are approximate or completely unknown. Billy the Kid might have been born in September 1859. Or maybe November. Persons with uncertain dates, notable or not, can't be included.
Another restriction is that I only look for deaths in the year 1200 or later, so Julius Caesar doesn't show up either.
Data before about 1500 are sketchy anyway. Records are unreliable. Calendar systems changed and differed throughout the world. Biographic details are often completely unknown. We think Joan of Arc was about 19 when she died, but nobody knows for sure even what year she was born. (She finally met her match on May 30, 1431.)
In other words, people show up here only if they have a known birth and death date, and those dates are encoded in their Wikipedia page in some format that the software understands.
Wikipedia provides another API for photos. We show thumbnails when they're available.
The database currently has 126,967 dead people. 53,594 of them have photos.
This website runs on ASP.NET Core 5.0.
That means I can develop it using the free Visual Studio Code on Unix, Mac or PC, and the service can run on any of those environments too.
Server-side code is written in C#. The site is based on the newer Razor Pages template rather than the traditional MVC model.
The website itself is hosted on Microsoft's Azure cloud services. I know, sounds boring. It's actually pretty cool. The code itself is hosted at GitHub. I plan to make it open source eventually, but if you'd like early access, contact me using the link at the XWord Info home page.
Learn about building Web apps with ASP.NET Core.
This instance of Who Did I Outlive is running on server RD0050F2183E7C.