East End Cemetery: A Place and its People

I’ve been working on something for about the past year. It’s live now.

East End Cemetery: A Place and its People

Screenshot of the homepage.

East End Cemetery in Richmond, Virginia, is the resting place of between 13,000 and 18,000 individuals, members of Richmond’s African-American community buried there between its establishment in 1891 and the mid-20th century. A couple of years ago, Brian Palmer and Erin Hollaway Palmer approached me on recommendation from an archaeologist friend. He knew I was getting into digital humanities and web design, and also that I’m a cemetery person and a social justice person. I was honored then, but I will say I was a bit nervous to take something on this big and public. Until this project, my portfolio has primarily consisted of proof-of-concept projects and unrealized ideas. I’m not a graphic designer or a professional developer, but I decided to go for it. In 2018 Brian Palmer received a grant to build the site from Dumbarton Oaks Research Library and Collection. We were off to the races, ready or not.

Brian and Erin are professional journalists. Brian has taken thousands of stunning photos at the cemetery and Erin has undertaken detailed archival research and collected stories for over 300 people buried at East End so far. My task was to build a structure to hold the narrative that could grow as volunteers locate more markers and Erin collects more research.


Here are some pieces by or about Brian, Erin, the cemetery efforts, cemeteries in the South, and/or Jim Crow Richmond. It’s all related.

Couple’s cemetery research seeks to heal sorrows, reclaim history, Michael Paul Williams, Richmond Times-Dispatch, 2015

Reclaiming Black History, One Grave at a Time, Brian Palmer and Erin Hollaway Palmer, The Nation, 2015

These Volunteers Have Been Cleaning Up Abandoned Black Cemeteries, Brian Palmer, BuzzFeed News, 2016

For the Forgotten African-American Dead, Brian Palmer, The New York Times, 2017.

The Costs of the Confederacy, Brian Palmer and Seth Freed Wessler, Smithsonian Magazine, 2018.


Erin and Brian wanted a site that would showcase the identities of the people buried there through historical details and photographs. They wanted an immersive experience. My top priorities were to set up a logical structure for a growing database and to give users the ability to export structured data about people buried there. I wanted to make it easy for Erin, Brian, and other project members to add data and also to encourage outside submissions of information.

I chose to build the site with WordPress, since I knew that this would be a growing database of people. Erin, Brian, and potentially other project members would need to be able to add and edit information, without a lot of technical expertise. From my own perspective as a seat-of-my-pants developer, I also knew I could create a product with a lot of functionality, even with “developing” technical abilities.

The feel

Erin and Brian wanted the site to be atmospheric but not funereal. I though of the sounds, smells, and colors of the woods that have enveloped the cemetery in the recent decades. Dark, lush, thick with humidity and history, but also peaceful. My first instinct was toward earth tones, pulling values from some of Brian’s photographs. Maybe it’s the archaeologist in me, but I really like dirt, and this scheme ended up being too muddy. Erin and Brian suggested a simpler black and white color scheme and I nudged back to the earth tones a bit, settling on almost black and almost white. The homepage background is a subtle video of a monument at twilight, with leaves fluttering and fireflies twinkling. Scrolling down leads to three big buttons for People, Place, and Context (the main sections of the site), as well as a rotating Features gallery.

Screenshot of original earth tone color choices
Original color scheme, chosen by me, an archaeologist. In hindsight, it’s dirt.

People, Place, and Context

Screenshot of buttons for People, Place, Context sections. Each features a historic image background. The three main section buttons. Still earthy, less like mud.

The core section of the site is People. The People grid surrounds the viewer with rows and rows of photos of stones, portraits. The grid is sortable by surname, birth year, death year, and date added. If the layout feels a bit overwhelming, with rows upon rows of stones, it’s meant to be that way. Being in the cemetery itself among the trees and the undergrowth, it’s hard to appreciate that there are over 13,000 burials surrounding you. I wanted to surround the viewer with people on this page.

Screenshot of the navigation grid for People showing photos of headstones and portraits.
The People grid

Clicking through brings the user to a person record. Beneath an image gallery is space for a “story,” which can take the form of a biographical narrative or longer-form research with photos. Not everyone has a story, but it’s followed by biographical data fields for each person. Using a spreadsheet that Erin has been working on for a while, I parsed these values using OpenRefine and then imported them into WordPress custom fields.

Record for a person showing a photo gallery and biographical information
Layout of a Person page

Where applicable, there’s a link to the burial’s relevant record within the Collaboratory project to the mapped location of each marker. We specifically did not link to Find A Grave records because their restrictive Terms of Service prohibits “deep linking”, very unfortunately. However, you may find links to Find A Grave from other connected sources.

At the bottom of each record is a Contribute Information button, which allows viewers to submit information to the website for consideration. These messages come to the site administrators via email for vetting, not straight into the WordPress database. This is an intentional choice, since Erin and Brian wanted an opportunity to communicate more directly with people who submit information.

As I was testing functionality, I found myself getting lost in the stories of people in the most magical way, a testament to Erin and Brian’s work. But moving back and forth between records was limiting, since post creation date determined the order. To satisfy my own urge to infinitely explore, I added a “random person” navigation element.

Record navigation buttons with a "random" option
Record navigation

Data entry fields for people.
Easy data entry for new people was a high priority. This is the primary reason why I selected WordPress as a CMS.

The Place page is designed to be another immersive, visual experience. Place is a scroll-through gallery of breathtaking full screen photos by Brian Palmer. Scroll down and a new one appears. It’s enveloping and it’s meant to be that way.

Context is primarily a StoryMap.js embed. Visitors can click through all the places on the map to learn about Jim Crow Richmond and the world of the people buried at East End.

Screenshot of StoryMap showing Navy Hill School in Richmond

The Data page isn’t linked from the primary menu, but it is in the footer. Here, visitors can export the full biographical database in a CSV text file. There’s also a better explanation of the Collaboratory project. This page accomplishes my goal of easy-to-reuse and analyze structured data for anyone.

Room for improvement and enhancements:

Had I started with more programming skill I wouldn’t have needed to rely on so many plugins. I built the site with X theme (heavily customized) and lots of other functional plugins. I processed all images every which way with GIMP and ImageMagick but the site was still HUGE and slow-to-load, so I eventually purchased credits for Shortpixel to optimize files. I also broke down and purchased WP Rocket to handle caching, CSS and JavaScript minification, and to otherwise speed up a sluggish site. One day I’ll learn how to do this all without a plugin, but it’s worth it so far. The site is performing reasonably well now for something so image-heavy, but I’m sure the code is bloated as all heck. I have fantasies of tearing it all down and rebuilding from scratch now that I know how the parts fit together. Constructive critique is welcome, as are suggestions for how to better optimize a media heavy site.

X is a visual builder theme but I ended up doing a lot of coding to make things work how we wanted. In hindsight I likely could have done without the builder, but it did get me up and running quickly and it made responsive design a breeze. I added a good deal of custom PHP to get the data fields to display in special post types, along with lots of custom CSS. Currently the CSV export is built with WP CSV plugin. It does the trick but I don’t love it. I’d like to build a different export, possibly via the WordPress REST API (I found a good lead on how to do so here and realized I met Jeff Everhart when he taught a workshop at THATcamp!). That way I can control row name aliases and related values that are now just showing up as meaningless arrays.

Looking back at my original wireframes, I had hoped to incorporate more sophisticated family networks (in the database and as visualizaitons). This is definitely on the enhancement list, as well as avenues for exploration by occupation keyword, fraternal organization, etc. I banged my head against a wall for quite some time trying to get custom metadata into the photo lightboxes and eventually tabled that functionality, but I’ll certainly come back to that. Finally, as (hopefully) descendant family members contribute, I’d love to build a scrolling “credits” section into the front page to highlight the collaborative nature of the project and encourage more participation.


I will admit that I’m quite proud of this, my first significant web project in the wild. While I adore my day job, it’s been refreshing to be able to work outside a highly constrained state I.T. environment doing something creative. I’m looking forward to continuing to build it out; I’m incredibly attached at this point. Looking at the photos and learning about the lives of these people has brought me to tears and put smiles on my face. I’m truly fortunate to have been a part of this effort, to be midwife to a beautiful project. Now that I can step away from the keyboard, it’s about time I head out to pull some weeds, I think.


East End Cemetery: A Place and its People

Friends of East End Cemetery

East End Cemetery Cleanup and Restoration Project on Facebook

Friends of East End Cemetery on Instagram

comments powered by Disqus