Carly Rae Jepsen’s Lyrical Themes, Mapped

music
nlp
python
claude-api
Two Claude models independently tag 183 CRJ songs against a 13-theme controlled vocabulary; the charts use only what they agree on.
Published

May 3, 2026

Modified

July 11, 2026

NoteA note on how this was made

Like the other posts here, this was built by directing an AI research assistant: I set the questions, the controlled vocabulary, the two-model reliability design, and the visualization choices; Claude wrote the scraper and analysis code and ran the theme extraction (two independent passes — one by Claude Haiku, one by Claude Sonnet — each farmed out to eight parallel sub-agents). I reviewed the intermediate outputs and the final numbers, and sent it back for rework repeatedly: claims made without supporting charts, a 20-theme vocabulary with obvious overlaps, a silent album-name bug that dropped 24 songs, and a codebook that defined my favorite theme too narrowly to find it.

I’ve been on the Carly bandwagon since E·MO·TION: Side B, and I’ve always been struck by her consistent — but also contradictory — use of theme. The example that always stuck out to me is the song The One: OK, we can get together, but we’re still just friends. It’s followed one song later by Fever and the line “my breath was lost when you said ‘friends’,” and two songs later by Body Language: “I think I’m in trouble… I call you my lover, you call me your friend.” The theme of friendship, positive and negative, persists into the albums that follow (Window, Let’s Be Friends).

I’m not a literary person, or a music critic, but I am a data scientist interested in what I can do with the most powerful language-processing tools ever created. This post is an exploration of the themes of Carly Rae Jepsen’s music, with a small cliffhanger: she has a new (double!) album coming out this year. Now that she’s married, and having a kid, will it affect the music?

The machinery: all 183 songs in the catalog, tagged independently by two different language models against a fixed controlled vocabulary of thirteen themes — friendship included, so my pet thread gets a fair test — with a sentiment attached to every tag, and only the tags both models agree on making it into the charts. It’s a toy subject carrying a serious pipeline: swap lyrics for customer emails, loan servicing notes, or analyst commentary and nothing about the method changes.


Theme prevalence by album

Each cell shows the fraction of an album’s songs that carry a given theme — counting only themes both models independently assigned. Themes are ordered top-to-bottom by total catalog frequency. Hover for the song lists.

Findings

Under the strict consensus rule — a theme counts only when both models find it — the top of the catalog across all 113 charted songs: desire (41 songs, 36%), vulnerability (39 songs, 35%), connection (25 songs, 22%). Consensus counts are a conservative floor: each model alone tags roughly 30–90% more.

Wanting dominates. Desire (36% of songs) and vulnerability (35%) top the catalog under the strictest counting rule available, and they lead on nearly every individual release across the decade. Whatever else changes — producers, eras, synth budgets — the thematic core doesn’t move.

But prevalence is only half the story. The claim I want to make — that CRJ’s signature is euphoric surfaces over an unresolved emotional core — is a claim about sentiment structure, so here is the sentiment structure:

Figure 1: Sentiment mix of each theme’s consensus tags (sentiment kept only when both models agree; disagreements are recorded as ambivalent). Themes ordered by share of positive tags.

The vocabulary splits into three clean tiers. Joy and new-love are 100% positive; heartbreak and melancholy are never positive. And in between sit exactly the themes that define the catalog: vulnerability (87% ambivalent-or-negative), longing (86%), obsession (92%) — huge themes that the models systematically refuse to call happy or sad. The pop is bright; the wanting underneath it is unresolved.

And the balance has shifted over her career:

Figure 2: Sentiment mix of all consensus theme-tags per release, in chronological order (2012–2023). The numbers above each bar show tag counts.

Kiss (2012) is the most balanced record in the catalog — 39% positive, 37% ambivalent, 24% negative, a near-even three-way split. From E·MO·TION (2015) onward, positive tags clearly lead on every main album, peaking with The Loneliest Time (59% positive — the title was a feint). The wanting got steadily happier. But look at the B-side columns in that chart — E·MO·TION: Side B is the only release where positive comes last — and that deserves its own section.

Main albums vs. B-sides

The B-side releases are where I got on the bandwagon, and they’ve always felt like a distinct mode — so let’s aggregate and compare directly. The B-side group here is E·MO·TION: Side B, Dedicated Side B, and The Loveliest Time (a companion record in all but name); the main group is the four principal albums.

Figure 3: Main albums (Kiss, E·MO·TION, Dedicated, The Loneliest Time; 78 songs) vs. B-side releases (E·MO·TION: Side B, Dedicated Side B, The Loveliest Time; 35 songs). Left: sentiment mix of all consensus tags. Right: theme prevalence as % of group songs.

Two things come out of the aggregation. The B-sides are not the sad drawer — they’re actually less negative than the main albums (17% vs 24% of tags) — they’re the unresolved drawer, running 38% ambivalent against the mains’ 27%. And their theme profile tilts: more desire, new-love, and obsession, dramatically less longing (6% of B-side songs vs 24% of main-album songs) and less escapism, vulnerability, and connection. The main albums carry the ache and the bond; the B-sides carry the want, unresolved. Given 35 songs in the B-side group, the individual theme gaps are noisy — but the longing gap and the ambivalence gap are large enough to take seriously.

The friendship hypothesis: expected vs. outcome

The opening of this post committed me to a hypothesis: friendship is a real, recurring thread in this catalog — I can hear it. The first version of this analysis couldn’t test that, because friendship wasn’t in the vocabulary and no model volunteered it. This version put it in the controlled vocabulary on equal footing with the other twelve themes, defined as “platonic bonds, friends as subject or support.”

Expected: a modest but visible presence — call it 5–10% of songs.

Outcome:

Table 1: Every friendship tag across both models (canonical releases). Consensus = both models agree.
Song Release Haiku Sonnet Consensus
All That E·MO·TION
Boy Problems E·MO·TION
Let’s Be Friends Dedicated Side B
Roses E·MO·TION: Side B
Good Time (Adam Young Remix) Kiss

2 consensus songs out of 113 — about 2% of the catalog, and even the union of both models’ tags stays under 5%.

The hypothesis fails, informatively. Even with the theme explicitly on the menu, both models almost never reach for it — and the songs where they do are the ones a fan would predict (Boy Problems is literally about choosing your best friend over a boyfriend; Let’s Be Friends is a breakup joke about the phrase). This is worth pausing on as a methods lesson: a controlled vocabulary can only fail to find what you never offered it — the first analysis was structurally blind to friendship — but offering it doesn’t conjure it either. The catalog really is about romantic wanting; platonic love is a rounding error in it. Expected 5–10%, observed ~2%.

Where the word “friend” actually lives

Here’s the part that bothered me: the three songs from the opening — The One, Fever, Body Language — received zero friendship tags from either model. If the theme analysis can’t see the exact songs that made me hear the theme, something is wrong with the songs, the models, or the codebook. So we audited it directly: a keyword scan of the raw lyrics finds 19 songs in the charted catalog that use the word “friend” — nearly ten times the consensus tag count. Reading each usage in context and classifying it by hand:

Table 2: Every canonical-catalog song whose lyrics contain ‘friend’, classified by how the word is used. Classification is mine, from reading each usage in context.
Song How ‘friend’ is used
The One Contested label — friend who should stay the night
Fever Contested label — demoted from lover to ‘friends’
Body Language Contested label — lover vs. friend, fought over directly
Store Contested label — ‘maybe one day we’ll be friends’ as exit line
Roses Contested label — the ex offering to stay a friend
Your Type Contested label — unrequited from inside the friend zone
All That Contested label — friendship offered as devotion to a maybe-lover
Turn Me Up Contested label — ‘now that you’re just a friend’
Hurt So Good Contested label — ‘the friend that you misunderstood’
Beautiful Contested label — ‘just friends, the beginning or the end’
Lost in Devotion Contested label — ‘friends’ used ironically for something more
Let’s Be Friends Contested label — the phrase as breakup sarcasm
Feels Right Contested label — ‘my complicated friend’
Boy Problems Platonic, real stakes — best friend vs. boyfriend
Shy Boy Background cast — ‘my friends want to meet ya’
Keep Away Background cast — friends inherited from an ex
Happy Not Knowing Background cast — friends as chorus of opinions
Anything to Be with You Background cast — willing to befriend his friends
Tonight I’m Getting Over You Background cast — passing mention

(Don’t Speak and Both Sides Now also mention friends but are covers, not CRJ’s writing. Counts: 13 contested-label, 1 platonic-with-stakes, 5 background mentions.)

So the models didn’t miss friendship — the codebook defined it away. “Platonic bonds” was the definition, and the single most common way this catalog uses friendship is precisely non-platonic: it’s the label for what romance is straining against — the friend who should stay the night, the lover insisting “don’t call me your friend.” Thirteen of the nineteen songs that say “friend” live on that boundary — and five of them (The One, Fever, Body Language, Store, Roses) sit together on E·MO·TION: Side B, three of them consecutive tracks. Five of that record’s eight songs use friend-boundary language. My ear was right; my codebook was wrong.

That’s the deeper methods lesson: in content analysis, the codebook is a hypothesis, and boundary cases are where it shows its seams. When the new album gets run through this pipeline, the vocabulary gets a fourteenth code — friend-lover boundary — and we’ll see whether marriage moved the catalog off that line.

How much should you trust these tags?

Every number above depends on model judgment, so the design measures it: two models, independent passes, same vocabulary and instructions.

Table 3: Inter-model agreement per theme: Cohen’s κ for whether the theme applies, and sentiment agreement among consensus tags.
Theme Haiku n Sonnet n Consensus n κ Sentiment agreement
desire 71 107 69 0.58 84%
vulnerability 69 98 62 0.54 58%
connection 74 46 40 0.52 85%
longing 51 61 39 0.56 67%
heartbreak 47 43 36 0.73 83%
obsession 42 60 35 0.57 46%
new-love 39 34 31 0.81 100%
joy 32 34 25 0.7 100%
escapism 32 36 24 0.64 79%
empowerment 25 32 23 0.77 70%
melancholy 20 32 18 0.64 83%
nostalgia 13 17 9 0.56 44%
friendship 6 8 4 0.55 75%

Three observations. Agreement is moderate-to-substantial but far from perfect — κ runs 0.52–0.81, and the mean per-song Jaccard overlap between the two models’ theme sets is 0.62. Anyone treating single-model LLM labels as ground truth should sit with that. The models disagree most about feelings, not topics: sentiment agreement is 100% on new-love and joy but under 50% on obsession and nostalgia — exactly the themes whose emotional valence is genuinely ambiguous in the songs. Discipline differs by model: Haiku invented three out-of-vocabulary tags (devotion, unrequited) that had to be discarded; Sonnet produced zero. Small, but it’s the kind of thing you only learn by running two raters.

Method

Data collection. 183 CRJ songs with lyrics scraped from the Genius API using lyricsgenius. 197 songs were identified across 42 releases; 14 were excluded as remixes or instrumentals with no lyrics page. Album assignment comes from Genius metadata: regional and anniversary editions are consolidated into their canonical release; remix albums, remix EPs, and one-off singles are excluded; the pre-Kiss Japan-era material (Tug of War and the early EPs) is excluded to keep the story on the major-label catalog; and 14 songs Genius lists under a release labeled CRJ7* — apparently leaked, unconfirmed material — are excluded as well. That leaves 113 songs across the 7 releases from Kiss (2012) onward.

Vocabulary. The original 20-term vocabulary had overlapping terms; tag co-occurrence (Jaccard) drove a consolidation to 13: desire · new-love · longing · vulnerability · heartbreak · melancholy · obsession · connection · joy · escapism · nostalgia · empowerment · friendship (added to test a specific hypothesis, see above). Merges: infatuation→desire, loss+melancholy→melancholy, euphoria→joy, fantasy→escapism, resilience+self-worth→empowerment, unrequited-love→longing, intimacy→connection.

Extraction. Each song was independently tagged twice — once by Claude Haiku, once by Claude Sonnet — with an identical prompt requiring 2–5 themes strictly from the vocabulary plus a sentiment (positive / negative / ambivalent) per theme. Eight parallel sub-agents per model processed the catalog, writing per-song JSON.

Consensus rule. A theme counts only if both models assigned it. Sentiment is kept when the models agree and recorded as ambivalent when they disagree — which biases the ambivalence findings upward slightly; the fence-sitting result in the sentiment chart also holds using each model’s tags alone.

Caveats. Theme tags are model judgments against a fixed vocabulary; the agreement table above is the honest error bar. Genius metadata is imperfect (a few songs sit under compilations rather than their canonical album) and two songs’ lyrics are truncated in the source scrape (Muscle Memory, the Disco Sweat version of Julien), making their tags low-confidence. Sentiment is per-theme, not per-song — a song can be joyful about desire and devastated about heartbreak at once, and many are.

What happens next (the cliffhanger, resolved later this year)

Everything above describes an artist who has spent fifteen years writing about wanting — with the negativity fading and the joy share climbing since 2015. And now the ground is shifting under the catalog: a new double album arrives later this year — the first written married, the first written as a parent.

The fun of having a quantitative baseline is that “the new album feels different” stops being vibes. When it lands, this pipeline reruns in an afternoon, and we get to ask pointed questions. Does desire — the top theme of every era so far — finally cede to connection? Does the ambivalent core (vulnerability, longing, obsession) resolve toward the positive column? Does friendship — or its domestic successor — escape the 2% basement, and does the friend-lover boundary code light up now that the boundary question is, presumably, settled? And a structural one: a double album is, in effect, an album that ships with its own B-side — and we just saw that her extended-format material runs more ambivalent and more desire-forward than her main sequences. Does that hold when the two halves ship together?

Consider this post the “before” measurement. See you after the album drops.


Data: Genius API via lyricsgenius · Theme extraction: Claude Haiku & Claude Sonnet via Claude Code sub-agents, July 2026 · Analysis code in the site repository.