Tom Steyer rolled out a hard-hitting campaign ad that turns Rep. Eric Swalwell’s own social posts into a political liability, using footage of him at a pool and the gym to underline missed votes. The spot and the reaction on social platforms have put a spotlight on how often Swalwell was absent from roll call during a crucial stretch. This article walks through the ad, the numbers behind the criticism, the clips Swalwell posted, and the chorus of reaction from commentators.
Billionaire gubernatorial hopeful Tom Steyer unleashed a short, sharp ad that stitches together Swalwell’s public clips to make a single point: the congressman wasn’t voting. The ad leans on the congressman’s own “I should be working” phrasing to create contrast between his social posts and his attendance record.
The heart of the creative attack is the line Swalwell repeatedly used in those videos: “I should be working.” That phrase was filmed at a pool, the gym, and at public events, and the ad uses it as a blunt label for absenteeism. Republicans are using the footage to argue Swalwell has been more focused on optics than his chamber duties.
https://x.com/TomSteyer/status/2022398505994932260?s=20
The ad even opens with another blunt line: “Eric Swalwell’s job is to vote in Congress,” and then cuts to clips where Swalwell himself tells followers he “should be working” right now. It then includes the claim, voiced on camera, that, “In 2025, Eric Swalwell missed 95 votes. That’s more than Rep. Raul Grijalva missed. Rep. Grijalva died in March 2025.” The juxtaposition is aimed to make voters ask whether Swalwell is seeking a promotion after skipping votes.
Public tracking of roll call participation provides the hard numbers Steyer’s team leans on. One tally shows 102 missed roll call votes out of 139 between Sept. 19, 2025 and Feb. 9, 2026, a striking absence rate across that window. Steyer’s campaign frames the figures differently, saying Swalwell missed roughly 68% of votes after announcing his gubernatorial run, and the difference in percentages became a talking point in the ad.
The commercial also punctuates the absenteeism with more casual clips of Swalwell bench pressing and tossing a ceremonial first pitch, then lands the line: “He hasn’t been showing up to work, and now he’s asking for a promotion,” This is the ad’s clear argument: the candidate is campaigning for higher office while leaving votes on the floor undone.
Reaction online was immediate and unvarnished. “Savage,” Democratic commentator Kaivan Shroff posted on X. “Steyer going negative on Swalwell this early is the latest piece of evidence Dem primaries this cycle are going to be nastier than they’ve been in a while,” senior Huffington Post editor Kevin Robillard posted on X. “Brutal ad,” Washington Free Beacon reporter Jon Levine posted on X.
Swalwell’s own social posts supplied the raw material for the attack. In one summer clip he said, “I should be working right now. I should be in Congress. I should be voting to lower your costs. But, instead, I’m in a pool because Republicans sent everyone home because they don’t want to release the Epstein files,” and that admission is replayed as evidence that he acknowledged being away. Critics argue those explanations don’t absolve a member who missed dozens of roll calls during a critical period.
Supporters of Swalwell pointed to the context given at the time, saying Republicans sent lawmakers home early amid a fight over an Epstein transparency measure that later passed. Republicans countered that Democrats were trying to rush measures already being handled elsewhere in the executive branch, and accused the party of weaponizing procedural fights. Meanwhile, observers also noted that Swalwell continued to post workout updates while the absence debate played out: “Swalwell has, however, kept constituents informed of his workouts even if he is not actually working,” Fox News contributor Jonathan Turley posted on X last summer.
The pool clip was part of a small series of “I should be working right now” posts that included the gym and a first-pitch appearance, footage Steyer’s team replayed to make a single political point. Swalwell’s campaign did not offer additional comment before this piece went live, leaving the ad and the record to speak for themselves as the primary contest heats up.