So someone found your old posts
What Platner tells us about opposition research
The most complicated phone call of my life took place one evening in Louisiana when I found myself performing tech support for someone with an impenetrable Cajun accent. That person had made a regrettable posting choice on a forgotten account from their past exploration into the performing arts. They did not remember their password, let alone possess a strong baseline of modern computer skills, and I was walking them through how to get back into their profile in order to delete the offending information. I doubt anyone would have gone looking for this youthful indiscretion, but I suppose the long hours helping them clean up a mistake was a mitzvah.
Graham Platner reminded us this week that any online oops is never truly gone. Even if you delete the evidence, as he or his campaign did, it can still resurface. As the oppo guy in a lot of people’s lives, I immediately got a lot of questions about how this could happen. Since I do know a little about this, I can offer how I would go about this and what it says about oppo in 2025.
Andrew Kaczynski graciously shed some light on his process, so we can start there. Platner had linked to his reddit from a personal twitter account he had failed to delete until CNN published their story. That means someone was looking for anything Platner had posted online. They probably already have his email, address, phone number, all the boring identifying information we give to everyone and readily available for purchase or acquisition. You can use those to search for linked accounts, and maybe he made it even easier by posting under his name.
We know from his Reddit posts, Platner was very comfortable sharing personal details online. As shown in CNN’s reporting, even a cursory review of P-Hustle’s posts match with Platner’s bio: soldier deployed to Iraq, former bartender at DC’s Tune Inn, oyster farmer in Maine, etc. It would not be surprising if that was true of the Twitter account as well. Although obviously he didn’t also say anything too interesting on it, given CNN had access to it and didn’t include anything in their story.
But even if that account was a single empty post with nothing but a link to a Reddit comment, that’s all you need to get cooking. Is the comment deleted? Take the link and plug it into the wayback machine or a service like archive.is. Click on whatever handles you see in the linked thread. Their profile pages , along with their history of posts, have probably been crawled by different archival bots. Which is exactly the case in CNN’s story, which links to the archive.is copy of P-Hustle’s profile page. From there we see posts clearly marking the account as Graham Platner, confirmed by him under direct questioning.
The Washington Post even linked to a fancier tool, PullPush, which is functionally a searchable mirror of historic Reddit data. Starting in 2015, Reddit partnered with the social media collection platform Pushsift which used Reddit’s own API to scrape data from the website within a few hours of posting. This data was made freely available to academic and other researchers until 2023, when access to Reddit’s API with tightened dramatically and only approved Reddit moderators could use Pushshift.
Historical collections of the older datasets still do remain available via tools like PullPush, which can be queried and search using all kinds of filters like author, subreddit, etc. PullPush will generate JSON files containing all posts falling under whatever parameters you set. Out of professional courtesy I won’t literally walk through how to download every post made by Platner prior to 2023 for review. But these days it’s as simple as reading the documentation and using an llm. And though archival web crawlers have been restricted by modern reddit, the period when Platner was posting heavily was well covered by tools easily available to anyone.
These methods are indistinguishable from investigative reporting, or OSINT if you’re feeling fancy. Why you are using these tools is what makes it opposition research. Why are you interested in Platner? Because you want to imperil his candidacy. The lowest hanging fruit to doing so is finding him saying something dumb. You know that if someone is a poster, they have probably posted something dumb. So if you want to make someone look bad, you should look at anything they have posted online. Easy to understand, easy to do, no Spotlight style shoe leather needed.
Does that mean this story was a pitch? There is some mitigating context. KFile at CNN operates similar to any old fashioned oppo shop with a full team of a talented reporters like Em Steck. Andrew Kaczynski even got his start as an intern at the RNC years and years ago. I first came across him while working on the opposition research team for Obama’s 2012 re-elect in Chicago. We were tasked with examining the menagerie of potential Republican candidates, a “target rich environment” in President Obama’s words when he stopped by our table on one of his rare visits to the office. At this time I had come across C-SPAN’s then new and expansive online video archive, helpfully tagging appearances dating back decades. Fantastic resource for old clips of Romney defending Roe v. Wade, Newt Gingrich supporting an individual mandate, Rick Perry talking about sausages, and Herman Cain being a weird delight.
You’ll notice I posted links to these examples from Kaczynski’s youtube rather than C-Span. Well suddenly these videos were showing up online and in stories. I was even asked directly if was I leaking them myself rather than allowing our communication leadership decide how and where to deploy research for pitching. But the true answer was a then undergraduate Kaczynski had found the same clips as me and was posting them just for the fun of it. Ben Smith rightly brought him into Buzzfeed and the legend of KFile was born.
So while CNN certainly accepts pitches and researchers are digging into Platner, it’s reasonable to believe this story was not purely the product of some nefarious oppo dump. As a high profile candidate with an unorthodox background, of course a reporting team that specializes in the art of internet necromancy would kick the tires on Platner. It doesn’t really matter, as the outcome is the same. And once Platner confirmed all the details in CNN’s story, it became trivial for other journalists or oppo flacks to recreate their methods.
These follow up stories likely came from a mix of journalists following KFile’s path and from opponents pitching additional material. You can squint and possibly see a hint of this in Politico’s piece, which devotes four paragraphs to emphasize the similarity between Platner’s posts and violent text messages sent by the Democratic nominee for Attorney General in Virginia. To me that reads like the thematic framing one would include in a “hit,” where the research is shared alongside additional information like the details of the Virginia case and how that’s hurt their candidacy. The hope is the reporter sees this as an easy to write up 800 words and adopts your preferred frame: basic public relation stuff, just applied to oppo.
We can’t know for sure, and there’s nothing wrong with that even if it is the case. Oppo flacking is honest work and the news has to be made somehow!
But why wasn’t Platner’s team prepared for this story? My working assumption, based on my past whiffs here, is that Platner himself knew he had a reddit problem. He or his team deleted the account. But nobody caught the old twitter account linking to it because they forgot it existed or the vet just missed it. These kind of things happen more than anyone cares to admit. I once let a guy who violated the embargo on Iran on stage to speak at an event with my candidate. Whoops, it happens. Tightened the traps after that one, which thankfully no one caught. I’m becoming reliable in my defenses of researchers but you should never expect perfect from anyone.
If his advisors knew the full extent of his comments, should they have stopped his candidacy? That gets the relationship between candidate and consultant backwards. Advisors advise, the candidate decides. Former Mississippi Governor and Super Lobbyist Haley Barbour famously paid for a research report prior to his potential candidacy in 2012 and decided a campaign wasn’t going to be worth the headache. In Platner’s case, he clearly came to the opposite conclusion. And if your candidate is in, so are you; especially if you think they can raise the money to give you a better than zero chance of running through the tape. (Granting exceptions for particularly vile or potentially illegal behavior).
If I knew then what we know now, and that’s the full extent of it, I wouldn’t have thrown my body in front of a run. The ‘communist’ line will echo forever, but you can also see he’s sincere about the second amendment and losing faith in Collins - both plusses in Maine. The voters have repeatedly proved immensely forgiving of racism and sexism from candidates, so maybe they’ll extend that grace to edgy shitposting.
Platner has millions in the bank and enough time to wait for the polls. It’s unsatisfying, perhaps, but there’s something refreshing about deferring major life decisions to statistical sampling. If it’s truly fatal, he’ll know in the coming weeks. But typically no one suffers much for trying to stick it out beyond a bruised ego and the apology tour circuit.
The ultimate lesson here is that nothing you write online ever truly disappears. I do internet archaeology for a living and I can tell you all those jokes you deleted in 2015 are still out there. The only question is whether anyone bothers to look. Usually they don’t. But if you run for office, someone always will. Whether by way of oppo researcher or investigative reporter or some combination of the two, negative information wants to be found and people want to find it. Enough people looking for anything on anyone will eventually discover something.


Generally I would think that Platner's Reddit would be totally disqualifying. However, we are at a really interesting moment in politics, and esp in Dem politics, where maybe some of these things can be forgiven. The fact that this came like 9 months before the primary is probably helpful to Platner. Also, I am impressed that his digital team has turned around the Reddit leak to also highlight those positive things, like like what you mention here. I hope he stays in the race if only because he's an interesting candidate and keeps things fun.
Question: if it wasn’t for the Twitter account linking to the Reddit user, would there have been a way to connect the comments to Platner? Creating an explicit connection between the stuff you post under your real name and the stuff you post under a username seems like a rookie mistake. We don’t (yet) have the tools to trawl Reddit and ask, “find a user whose posts sound like Graham Platner,” right?