Skip to content
Queer Speculative Fiction
A monthly catalogue of new releases & queer-owned bookshops
QSF
19 August 2026

There's a lesbian side character

I set out to build a comprehensive database of queer speculative fiction and wound up building an extremely powerful search. The code will be finished by the end of summer, as promised. The catalogue will not be. Built and worth opening are two different milestones.

This project is bigger than I thought, but not in the ways I thought. Building a database that stores a lot of books, runs fast, isn't covered in ads, and doesn't look awful is the easy part—save for some extra privacy considerations. (A teen shouldn't get outed by a query string for transmasc characters sitting in their shared browser history.) Normalizing data pulled from many sources—four different APIs and a whole lot of hand research—and making it display consistently is much harder, especially when the subject is queerness. Any librarian reading this is thinking "oh, you sweet summer child," and laughing.

There's the fundamental question of what constitutes a queer book. A couple of years ago I was at a party catching up with an old friend who effusively recommended Fourth Wing. I told her I was making up for lost time and reading queer books, to which she replied enthusiastically: "there's a lesbian side character!" Most straight people don't get it, which is why so many book resources fail us. For the purposes of this database, because I can do what I want, if one of the main characters is explicitly queer, or the overarching theme is queerness, it is a queer book. That works well enough for the last decade-ish. But what about twenty years ago, or thirty, or beyond?

Publishing norms and public acceptance shift. Many people would say Realm of the Elderlings is straight. But in 1995 the Fool, a character many readers understand as genderfluid or genderqueer—to say nothing of queerplatonic readings—was a radical presence in mainstream fantasy. Shouldn't genderqueer people be able to see 90s representation of themselves, even if Fitzchivalry Farseer is straight? And what's a main character, anyway? The Fool might not be the POV character, but he's the catalyst for major parts of the story. Similarly, Paksenarrion's world might not know the word asexual, but that doesn't make her any less so. It turns out the bar for a queer book has to blur the farther back you go, because a queer speculative database without Carmilla would be a broken one.

Identity is incredibly nuanced. Computers are not. Queer identities evolve over time, and while it's easy to hard code things in datasets you own, it's much harder to thoughtfully manage incoming data you don't control. Never deadnaming someone sounds easy enough, but every author has their own needs and it's tricky to make sure new information doesn't override them. Sometimes a deadname stays the byline on a back catalogue. Sometimes the backlist gets updated. Sometimes the deadname is a pen name still in active use for one genre, with their true name on another. Making sure an author page carries the right name, and their books carry the right credits, can only be a human effort, not a programmatic one. An author page has to respect where a person is in their journey, and gracefully allow for change.

When describing books and characters, it's also crucial to use the language authors choose for themselves, which isn't always consistent. A character might be described as latinx, latine, latina, latino, or by a more granular cultural identity. A reader might search any of those and expect results for all of them. I keep an entire respectful rendering file, along with search mappings, to keep routing forgiving but book tags precise. That's considerably harder than slapping a single tag on a book and hoping for the best. Too many sites force readers to try and understand their confusing database schema. A good search reflects the way people actually ask for book recommendations.

I've built a lot of tooling to import older books and compile new releases from my sources, but I will always be the bottleneck. The only way to accurately tag a book's representation, short of reading it, is to read a great many reviews. Sometimes a book doesn't have enough reviews to do that well until it's been out a while. Reviews can't be skimmed, either. Bi and pan women exist, but Goodreads holds every sapphic book as "lesbian." Books get tagged "LGBTQ" and reviewers praise "great queer representation" on the merits of the secondary cast.

There are a few other pain points I wanted to solve. The biggest is the pernicious problem of book marketing—or misguided Goodreads tags, or Reddit users who will recommend Gideon the Ninth for literally any request—setting the wrong reader expectations. People feel queerbaited when a book is stamped sapphic and the character either never winds up with a woman, or spends more time on the page with a man. The answer is to be transparent about what's in the book and let people decide for themselves, rather than assume author intent. I've added notes to books that need a little more explanation, and a "sapphic yearning" tag (I blame TikTok) for when no clear relationship materializes on the page. I've added relationship pairing tags, so it's clear when a character has multiple relationships, or none. I've also included a "no HEA" tag, blurred for spoilers, for when something gets recommended as a romance and very much isn't.

Series are their own small mess. Working out what to read, and in what order, shouldn't require three tabs and a fan wiki, so the database records reading order as its own fact: whether a series has to be read in sequence or whether you can pick up anywhere, and where a particular volume departs from the rule.

None of this replaces a person. The best queer book recommendations you will ever get come from a bookseller or a librarian who knows your face and remembers what you finished last month, or from a friend whose description of the book is terrible and who is right anyway. No amount of tagging beats that, so when a queer book is good, tell people.

What a database can do is stay awake at two in the morning and know about the books nobody has handed you yet. So every book here points outward: borrow it from a library, buy it from a shop. Both are under more pressure than they have been in my lifetime, and there is no version of this site that tries to keep you on it instead.

So: the code will be finished when I said it would be. The catalogue will not, and I'd rather say so now than let the date slip quietly past.

Which leaves the one question I can't answer on my own. The catalogue currently runs from 2024 to the present, a little over a thousand books, and I'm working backwards through 2023. At some point going further back stops being completionism and becomes the difference between a novelty and something you'd actually open. I don't know where that point is. Three years? Five? A full decade, so that anyone who started reading queer speculative fiction in the 2010s finds their own shelf in it?

If you have an opinion, I'd genuinely like it. Comments are below, though Ghost will only take them from members, and I'm not going to pretend that isn't a silly hoop to jump through to answer a question I asked. Write to me instead if you'd rather. I would much rather build toward what would actually feel finished to you than toward my own guess at it.

Start the conversation

Comments are for members — one human writing to other humans. No pile-ons, no growth-hacking. You're invited, never pressured.

Become a member