🔒
Double Booked Club
Project Guidebook
Team access only — enter password to continue
Aleia's Library × Tropes and Kisses

Double Booked Club

The romance database that sounds like your group chat.
by Aleia & Christine  ·  Project Plan 2026–2027
Vision & Voice
Vision (North Star)

Double Booked Club is where BIPOC romance readers come to find their next book — not from an algorithm, not from a ranked list, but from two friends who read it and have feelings about it. The site is a living, searchable database of romance novels centering our communities, anchored by a review voice that sounds like the group chat, not a literary journal. By January 2027, a reader should be able to land on the site, tell it what they're in the mood for, and find exactly the kind of love story they're looking for.

The Voice

"The Double Booked Club voice is the competitive advantage. Most romance review sites sound like Goodreads. Double Booked Club sounds like two people who cannot stop talking about a book they just finished."

Reviews are conversational, opinionated, and specific. "We screamed" and "the slow burn absolutely destroyed us" and "okay but the cover though." Both perspectives present — not blended into neutral consensus but genuinely in dialogue. A reader should finish a DB review feeling like they got a recommendation from someone who actually cares whether they enjoy the book.

"The rule everything else answers to — If a technical decision would make the reviews feel more formal or more generic, it's the wrong decision. The voice is not a style guide — it's the architecture."

Brand Identity
Tagline
The romance database that sounds like your group chat.
Hosts
Aleia & Christine
Aleia's Library × Tropes and Kisses
Founding cohort
The Prologues
The founding beta readers. Before the story starts.
Annual feature
The Double Down
DB's annual year-in-review feature. First Monday of January, every year.
Typography
Display — DM Serif Display
The romance database that
sounds like your group chat.
Body — Nunito Sans
Reviews are conversational, opinionated, and specific. Both perspectives present — not blended into neutral consensus but genuinely in dialogue. A reader should finish a DB review feeling like they got a recommendation from someone who actually cares.
Labels & Metadata — Monospace
enemies to lovers diaspora romance slow burn DB Review Aleia's Take Christine's Take
Color Palette
Primary
Blue
#497dcb
Blue Dark
#2a4a8a
Blue Light
#e8f0fa
Warm accents
Sand
#d4a06e
Blush
#de9a7a
Blush Light
#faf0eb
Olive
#8a6c45
Tan
#c3a47d
New additions
Goldenrod
#c9952a
Double Down · Prologues
Gold Light
#fdf5e4
Card backgrounds
Ink Black
#1a100a
Header, dark surfaces
Dark
#2c1f10
Cream
#ede7e7
The Resource
A searchable database
Filterable by genre, trope, microtrope, age range, and review status.
A discovery tool
Tropes-first navigation so readers find books by what they're in the mood for.
A review destination
DB joint reviews and solo takes, clearly distinguished, all in your voice.
A BIPOC-centered space
Identity and representation are first-class — not subcategories.
Timeline
May / June 2026
Build & Beta

A real, working site in front of your existing community. It doesn't need to be complete — it needs to be useful and it needs to sound like you.

Going live:
  • Full 2026 book database in HubDB, filterable by genre, tropes, and review status
  • Short blurbs for every entry written in Double Booked voice
  • DB review links clearly labeled; solo reviews (Aleia's Take / Christine's Take) visually distinct
  • No ratings anywhere on the site
  • Complete brand identity — DM Serif Display, Nunito Sans, the full palette
  • HubSpot Forms for beta application — feeds CRM directly, no manual import
  • Subscribe / follow links to both Substacks
  • Partnership inquiry form live in HubSpot — open for business from day one
  • HubSpot Analytics active and tracking from first visit
Not yet:

Backfilled content beyond 2026 · Full review text on-site · Ads or monetization · Individual book detail pages

Decisions to lock:
  • Finalize and write down the trope taxonomy — this becomes the HubDB column values and the Claude Project system prompt
  • Set up the HubDB table with correct column structure before Claude Code builds the frontend
  • Set up the shared Claude Project with HubDB schema, trope taxonomy, and voice guidance loaded in
  • Connect Claude Code to HubSpot via API key — one-time setup, after that it's just conversation
  • Set up The Prologues contact list in HubSpot CRM and build the beta application form
  • Write the About Double Booked Club paragraph — together, in your voice
Data

If adding a book is annoying, you won't do it consistently. The goal is a system where adding a new book takes less than two minutes and neither of you needs to think about formatting. The stack is HubSpot Content Hub Enterprise for hosting and the database, Claude Code for building and maintaining the site, and the shared Claude Project for day-to-day data entry — all three layers running together.

The stack
Hosting & frontend
HubSpot Content Hub Enterprise

Hosts the site, serves pages, manages the book database via HubDB, handles forms, CRM, and analytics. Everything in one platform — no separate hosting, no separate database tool.

Build & deploy
Claude Code

Builds and maintains the frontend — HubL templates, CSS, JS. Pushes book entries to HubDB via the HubSpot API. Handles deployments. You never open a code editor.

Day-to-day entry
Shared Claude Project

The interface for adding books. Knows your data format, trope taxonomy, and DB voice. Both of you can use it from your phone. Hands off to Claude Code for the actual push to HubDB.

Newsletter
Substack stays

Substack remains your editorial newsletter platform. HubSpot CRM syncs contact data but does not replace the reader relationship you have built there. Reviews link out to Substack until they live on-site.

Layer 1 — The Shared Claude Project
Day-to-day

Both of you are added as members to a single Claude Project. The system prompt knows your HubDB column structure, trope taxonomy, genre categories, review status options, and the Double Booked voice — so it can help draft blurbs and format entries in one step.

You type:"Add The Bridge Back to You by Riss Neilson, contemporary, March 2026, planned" Claude returns:A fully formatted entry matching your HubDB column structure — title, author, pub date, genre, tropes, review status, cover URL from Google Books. Tell Claude Code to push it, or copy it yourself. Done in under two minutes.
No ISBNs to hunt No formatting to think about Works from your phone Aleia or Christine can both do it
Layer 2 — HubDB (the source of truth)
Source of truth

HubDB is HubSpot's built-in relational database — it lives inside your Content Hub account and is queryable from any HubSpot template via the HubDB API. Your book catalog lives here as a table with one row per book. Claude Code can read and write to it directly using your HubSpot API key. When a row is added or updated, the site reflects it immediately — no rebuild step, no deployment pipeline.

You type:"Add these three books to HubDB and make sure the trope tags are right" Claude Code does:Calls the HubSpot API, creates the rows, verifies the trope taxonomy matches your master list, confirms. The site is live with the new entries. You never log into HubDB directly.
No rebuild on update API-native — Claude Code speaks it natively One-time table setup Queryable from any HubSpot page template
HubSpot CRM — people, not books
Relationships

HubDB handles books. HubSpot CRM handles people. Three contact lists to set up from day one:

The Prologues
Beta readers. Intake via HubSpot Form. Tagged with feedback status, whether they have been thanked, and their founding reader credit date.
Partners
Bookstagram accounts, newsletter peers, potential brand partners. Tracked by outreach stage: identified, contacted, confirmed, posted.
Press & Media
Anyone who has written about DB, shared a launch post, or is on the outreach list for The Double Down. Reusable year over year.
Beta application form feeds CRM directly Partner outreach tracked by stage No spreadsheet juggling
What lives in every HubDB row
TitleAuthorPublication dateGenreAge rangeCover image URLCover image fileTropesMicrotropesProfessionsIdentity tagsReview statusDB review URLAleia review URLChristine review URLBookshop URLSeries nameSeries numberShort blurb in DB voiceFeaturedDebutNovellaDate added
Never in the database

No star ratings. No spice levels. Ratings only appear if there is a Double Booked review, and even then the review link is the signal — not a number.

Cover image lookup — automatic protocol

This lives in the shared Claude Project system prompt. Every book entry automatically attempts cover lookup before returning — you only see NEEDS_COVER for very obscure or self-published titles with no ISBN.

Step 1 — Google Books API (preferred)
https://www.googleapis.com/books/v1/volumes?q=intitle:[TITLE]+inauthor:[AUTHOR]

Extract items[0].volumeInfo.imageLinks.extraLarge — fall back to large then thumbnail. Always use https://. Strip any &zoom= or &edge=curl parameters.

Step 2 — Open Library fallback
https://openlibrary.org/search.json?title=[TITLE]&author=[AUTHOR] https://covers.openlibrary.org/b/isbn/[ISBN]-L.jpg

Extract docs[0].isbn[0] from the search result, then construct the cover URL. Free, stable, no API key required.

Step 3 — Flag for manual review

If neither source finds a cover, set cover_url to NEEDS_COVER. Never leave it empty — the placeholder lets you filter HubDB for missing covers and batch-fix them periodically.

Claude Project system prompt — paste this in
COVER IMAGE LOOKUP — AUTOMATIC PROTOCOL When adding any book entry, always attempt to find a cover image automatically before asking for one or leaving the field empty. Follow this lookup chain in order: STEP 1 — Google Books API Search: https://www.googleapis.com/books/v1/volumes?q=intitle:[TITLE]+inauthor:[AUTHOR] Extract: items[0].volumeInfo.imageLinks.extraLarge — if not present, try large, then thumbnail. Use the https:// version of the URL — replace any http:// prefix. Strip any &zoom= or &edge=curl parameters from the URL. STEP 2 — Open Library fallback If Google Books returns no image, search: https://openlibrary.org/search.json?title=[TITLE]&author=[AUTHOR] Extract docs[0].isbn[0], then construct: https://covers.openlibrary.org/b/isbn/[ISBN]-L.jpg STEP 3 — Flag for manual review If neither source returns a cover, set cover_url to NEEDS_COVER. Never leave cover_url empty. FORMATTING RULES - Always use https:// — never http:// - Always use the largest image size available - Never upload to HubSpot Files — store the external URL only - Strip &zoom= and &edge=curl parameters from Google Books URLs
Note

To find all entries missing a cover: in HubSpot, open the db-books HubDB table, filter cover_url contains NEEDS_COVER. This gives you a clean list to work through in a single Claude Project session.

Practical example — end to end

Aleia finishes Ember by Naima Simone. She opens the shared Claude Project on her phone and types: "Ember by Naima Simone, dark romance, adult, July 2026 — Aleia finished it, no DB review yet." Claude returns a formatted entry matching the HubDB column structure, including a cover URL from Google Books and trope tags from the taxonomy. She tells Claude Code to push it. Claude Code calls the HubSpot API, creates the row in HubDB, and confirms. The entry is live on the site in under two minutes. No code editor. No login to HubSpot. No formatting decisions.

Backfilling — the intentional approach

You are not trying to catalog everything you have ever read. Backfill strategy is trope-first — identify the tropes readers search for most in the HubSpot analytics, then pull in the strongest titles from previous years that represent those categories well. Ongoing and unhurried. A great older title added in November 2026 is just as valuable as one added at launch.

The metric that matters most at launch

Referral source on the day The Double Down drops. If Substack drives more traffic than Instagram, double down on the email. If Instagram drives more, build the share-to-Stories flow into every future feature. That data point shapes every subsequent launch decision.

Tropes & Microtropes

7 categories of tropes, each broken into microtropes for precise tagging. The Identity & Representation category is where Double Booked Club is genuinely distinct — those tropes are first-class entries here, not subcategories buried under something else.

A note on consistency

The trope taxonomy only works if both of you use the same words. Agree on canonical spellings and phrasing before you start tagging — "enemies to lovers" not "e2l" — and paste the final version into the Claude Project system prompt so every new entry gets tagged correctly from day one.

Ongoing
Ongoing rhythms
The database stays current

Every book you're actively reading, planning to read, or have finished goes in the system. The Claude Project makes this a two-minute task. If it becomes a chore, the site goes stale — and a stale book database is the one thing that will undermine the whole resource.

The voice stays consistent

As the site grows, someone needs to be the voice guardian. DB reviews should always sound like the two of you texted each other about a book at 11pm and then turned it into something the internet could read.

The review URL field gets updated

Every time a review goes live anywhere — Substack, on-site, a guest post — the database gets updated that same day. This habit makes the eventual full migration to on-site reviews painless.

The trope taxonomy grows deliberately

As you backfill older reads, you'll find gaps. Update the master taxonomy document and the Claude Project system prompt together every time, so tagging stays consistent across everything ever added.

Monetization
Bookshop.org affiliate links

On every book entry from day one. Small commission per purchase, ethically aligned, signals to future partners that you're treating this as a business.

Ad networks (Mediavine, Raptive)

Traffic thresholds to hit first — the grand opening push, Best Of features, and consistent social driving are all working toward these numbers.

Brand partnerships

The media page at launch is your signal to the industry. BIPOC voices, a specific and underserved audience, and a genuine editorial POV is a compelling pitch to romance publishers and aligned brands.

Sponsored content

Build the site for speed and clean ad placement zones from the start so there's no retrofit work later.

Next Steps

These aren't blockers — the site can be built without them. But getting them right first makes every session with Claude Code faster, cleaner, and more likely to produce something you both love. Steps 1–3 are the ones only you can do. Steps 4–8 are where Claude Code takes over.

1

Write the trope and microtrope taxonomy together — agree on canonical vocabulary, put it in a shared doc. This becomes both the HubDB column values and the Claude Project system prompt. Do this before anything else.

only you can do this one
2

Write the About Double Booked Club paragraph you both love — one paragraph, in DB voice, that you would be happy to read aloud. This goes in the site footer and the HubSpot About page.

only you can do this one
3

Audit the 2026 reading list: every entry needs title, author, pub date, genre, age range, rough trope tags, review status, and a review URL where one exists. This becomes the first HubDB import.

only you can do this one
4

Set up HubSpot Content Hub — confirm your Enterprise account is active, set up the subdomain, and give Claude Code API access. This is the one step that requires a human to log in.

requires HubSpot login — once
5

Set up the HubDB table with Claude Code — column structure, data types, trope tag options. One session. After that Claude Code can read and write to it in conversation.

6

Set up the shared Claude Project — both of you added as members, system prompt loaded with HubDB column structure, trope taxonomy, voice guidance, and the brand identity tokens.

7

Set up HubSpot CRM lists — The Prologues, Partners, Press. Build the beta application form in HubSpot Forms so it feeds the CRM directly.

8

Then: open Claude Code, hand it this plan, your reading list, and your HubSpot API key — and say build it.

Open a Claude Code session.

Hand it this plan, your reading list, and your HubSpot API key.

"build it."

Marketing

Your audience is real, warm, and already bought in — they follow both of you because they trust your taste. The marketing strategy does not try to manufacture hype. It turns genuine excitement into structured moments that give your existing community permission to spread the word, and gives new readers a reason to stay.

Where you are and how to use each channel
Substack
Your conversion engine

The newsletter is where interested readers become invested ones. Every major launch moment — beta recruitment, Best Of features, grand opening — starts with an email. Your Substack list already trusts you. Treat it like the most important channel, because it is.

Instagram
Your awareness and warmth layer

Instagram keeps the community warm between launch spikes. Behind-the-scenes content, book reactions, Stories polls, and reader reshares all do work here. The grid is for landmark posts. Stories are for everything else.

The four marketing spikes

The site stays active in between, but these four moments are where you concentrate energy, coordinate both channels, and ask your audience to do something specific. Everything else is maintenance. These are the pushes.

Phase 1 · May 2026
Beta Recruitment
Goal: Find 15–20 invested early readers who will give real feedback and become the site's first advocates.
How: Substack email to full list + Instagram post + application form. Personal outreach to 5–10 bookstagram mutuals you already know and trust. Keep the application simple — reading habits, favorite tropes, one sentence on why they want in.
Assets needed
Beta recruitment email (Substack) Beta recruitment Instagram caption Beta welcome email for accepted readers Application form questions
The win looks like: 15–20 accepted betas who open every feedback email. One or two who become genuine evangelists before launch.
Phase 2 · July 2026
Best of 2026 So Far
Goal: Publish your first real editorial feature and drive traffic to the site for the first time.
How: Substack email is the traffic engine — write it in full DB voice, link directly. Instagram grid post with cover art. Stories series going through each pick one by one over 3–5 days. Encourage DM sharing and group chat forwarding explicitly.
Assets needed
Best Of feature Substack email Instagram grid caption Stories copy for individual picks
The win looks like: A feature that gets linked in group chats. At least one screenshot that circulates on its own. New subscribers who found DB through the feature.
Phase 3 · August 2026
Grand Opening
Goal: Make the public launch feel like an event — phased tease builds to a launch week that gives the community something to share.
How: Three-stage sequence: (1) Mystery tease mid-July — name and vibe only. (2) Full concept reveal late July — screenshots, features, voice, no URL yet. (3) Launch day email + grid post + launch week spotlight series. Press kit sent to bookstagram partners the week before launch.
Assets needed
Tease post copy Concept reveal email + caption Launch day email Launch day grid caption Launch week spotlight captions (4) Press kit outline Partner outreach note
The win looks like: Launch day traffic spike. At least 3–5 partner reshares. New Substack subscribers from people who found the site cold.
Phase 4 · January 4, 2027
The Double Down Annual
Goal: Establish the first Monday of January as DB's annual editorial moment. This is the one that makes it an institution.
How: Two-email Substack campaign: Jan 3 teaser (The Double Down drops Monday), Jan 4 full send. Instagram anchor post. The Re-Do List is the founding story inside the feature. The first Monday of January is the date that becomes a tradition.
Assets needed
Jan 3 teaser email Jan 4 launch email Annual feature Instagram caption Year-in-review stat graphic brief
The win looks like: This feature gets saved, referenced, and linked for months. Readers start asking "when is the Best Of coming?" in December. That is the institution moment.
Partnership strategy

You are not doing cold outreach to strangers. You are formalizing relationships with accounts that already exist in your orbit — mutuals, people whose taste you respect, bookstagrammers whose audience overlaps with yours. The goal for launch is 5–10 partners who share on launch day. That is enough.

Who to approach

BIPOC bookstagrammers who review romance. Accounts that talk about representation in their reads. Readers who have engaged with both Aleia's Library and Tropes and Kisses before launch. Accounts with engaged audiences, not necessarily large ones.

What to ask for

A Story share on launch day, or a mention in a newsletter. Not a formal partnership — just "we are launching, here is everything you need to share it easily." Make the ask small and the assets generous.

What to give them

The press kit: what DB is, screenshots, the URL, a caption they can adapt, and context on why this site is different. They should be able to share without writing a single word from scratch.

When to reach out

One week before launch. Not earlier — you want to be top of mind on launch day. Follow up the day before with a friendly reminder and the final URL.

The principle underneath all of this

Every marketing moment should feel like an extension of the DB voice — personal, specific, and like it is coming from two people who genuinely cannot stop talking about romance novels. The moment it starts to feel like a press release, it stops working. Write every email, caption, and outreach note the same way you write a review.