Accusing Donald Trump of sexual misconduct, Rachel Crooks has been forceful and persistent. But turning a personal story - and anger against the president - into a bid for office is a different kind of challenge.
Crooks knows she has a lot to learn as a candidate for the Ohio state legislature. She's never run for office. And she's going up against an incumbent in a deeply conservative district.
She says she's confident in her abilities, though. "I'm a quick study."
Democratic candidates such as Crooks are, generally speaking, likely to do well in November. In mid-term elections during a president's first term, the out party - the one that didn't win the White House - gains an average of 25 seats in the US House of Representatives.
And Crooks has a "novelty" factor, as John Green, a political science professor at University of Akron, points out.
She's appeared in the New York Times, the Washington Post and other publications. Through national media coverage, she's become arguably the most famous resident of Tiffin, Ohio, population 17,545.
Her name-recognition arises from an "infamous encounter", as she puts it, more than a decade ago while she was working in New York. One morning, she says, she saw real estate tycoon Trump near an elevator in her office building, Trump Tower, and introduced herself.
"He just sort of held onto my hand and kissed my cheeks," she says, describing the incident while sitting in her living room in Tiffin. Then he forcibly kissed her on the lips, she says.
Crooks calls the encounter "awful and upsetting". She was one of three women to call for a congressional inquiry into the multiple accusations against Trump.
Trump has consistently denied her claims which he describes as "fiction". Last month the president again responded on Twitter to her story, denying the whole thing. "Never happened!" he wrote.
Her feelings towards him are palpable - disgust and anger. "He's a pig," she says, quietly.
She came forward, she says, after seeing other women do the same, and hearing Trump say in a debate he doesn't act that way towards women.
"It was more matter of fact," she says. "You're telling a lie. I'm going to tell the truth."
After she went public with the accusation, several people approached her about running for office, and eventually she decided that she would.
"I knew I had to do more than resist," she said in a campaign video on her Facebook page.
She's running for office in the state's 88th district, an area that's spread through two counties, Sandusky and Seneca. Driving along the county roads, you'll see cornfields and big, open sky.
Crooks is uncontested in the upcoming Democratic primary, and has the support of the local party. In November, she will go up against Bill Reineke, a Republican who's running for a third term.
Reineke has a track record as an elected official - support for tax cuts, trying to improve the waters of Lake Erie, and a recent drive to bring the state's education department under the control of Ohio's executive branch.
In contrast, Crooks is known primarily as a Trump accuser. As Paul Beck, an emeritus professor at Ohio State University says: "It's really hard to parlay an anti-Trump feeling into a vote against a particular legislator."
And while she's appeared in national media, Reineke is a local celebrity. He and his family own car dealerships, and his name's on billboards, ads ("get your key from Reineke!") and licence plate frames.
Just about everyone I met in town said they'd bought a car from a Reineke dealership. Standing in Bailiwicks Coffeehouse in downtown Tiffin, a Seneca County judge, Steve Shuff, tells me he's purchased several.
Crooks, 35, grew up in Ohio, and now works for a university in Tiffin.
On the afternoon I visited her house, Carlow, an Irish setter mix Crooks adopted for moral support after the 2016 election, barked enthusiastically in the kitchen.
Crooks moved aside a cardboard box, filled with thank-you cards for her donors, to make room at a dining-room table. (Her campaign manager, Chris Liebold, says they won't release figures on how much they've raised until they file a finance report in April.)
She told me she's pushing for "a more fair tax system" and says parts of her district have unusually high levels of child poverty. If elected, she says, she'd work to fund programmes that would help "the most vulnerable in our society", and to ensure people in her district have access to better-paying jobs and good schools.
Her positions on the issues are presented on her campaign website in a pithy manner. Each subject, whether jobs, healthcare or education, is covered in three paragraphs or less.
So far she's offered no specific policy proposals. "She doesn't need a 40-page position paper," says Green. "But she needs more than a few sentences."
Still, Crooks is tapping into the disgust, fear and rage many women have felt under the current administration. And for some, that's enough.
One of her supporters, Gina Ganni, is married to a woman and has a seven-year-old son. She says she's concerned about the Republican Party's position on gay marriage.
"Nothing will motivate you faster than the fear of somebody taking your child away," Ganni tells me in a restaurant, breaking into tears.
Crooks "doesn't care who I'm married to", Ganni says. "She knows my son is well taken care of."
Others say they're not impressed.
"We've had one heck of a good run with our state legislator," says Jim Roberts, the chairman of the Seneca County Republican Committee, sitting in Bailiwicks.
David Koehl, who owns a bookstore down the street, says Reineke's views reflect those of the people who live in the community and predicts he'll win another term.
"He is a conservative Republican," Koehl says. "And this is a conservative Republican district."
Analysts say she has a chance at victory, but agree the odds are against her.
"Can she put it all together? Yeah. Will she? I don't know," Green says. "This candidate has an uphill battle."