The No BS Spiritual Book Club
A WordPress build that turns a series of book interviews into a living library, three related post types modelled with ACF so each book is counted across every guest who picks it, powering automatic rankings of the most-loved books. The client called it "ingenious digital architecture."
The brief
The client runs an interview series where each guest shares their ten favourite books. The existing Divi site was a blog; the goal was to turn it into something that could analyse taste across all guests, which books come up most often, what men pick versus women, what's popular in each category, and surface those rankings on their own pages.
That required moving from posts to a real data model. Guests, books, authors, and categories all needed to be separate, related records, with each book stored once so it could be counted accurately across every guest who picked it. The rankings then fall out of querying that structure rather than being maintained by hand.
What was built
- Contributor: name, bio, image, gender, and their ten book picks
- Book: name, cover, category/subcategory, publish date, affiliate link
- Book Author: maintained as a single record per author
- Books are classified by category and subcategory
- This classification drives both browsing and the per-category rankings
- Each contributor's ten picks are selected from existing Books via ACF relationship fields
- Books already in the system are reused by reference, no retyping titles or re-uploading covers
- Affiliate links live on the Book, so they stay correct everywhere the book appears
- Top 20 books of all time
- Top 10 chosen by women / Top 10 chosen by men
- Top 10 in each category
- Every ranking is computed from the underlying data, so adding a new interview updates all of them with no manual editing
- Books, authors, and contributors are all linked and navigable in both directions
- Each Book page lists every contributor who picked it
Screenshots
Screenshots of the live site
Technical notes
Have a similar project?
Get in touch with a brief description of what you need and I'll come back to you within 24 hours.