Karl Bremer, a muckraking citizen journalist of the old school who blended hard factual research with withering opinion, died from cancer Tuesday at his home in Stillwater Township.

Known for his investigative blog, "Ripple in Stillwater," and his skewering of U.S. Rep. Michele Bachmann in a book documenting her rise to public office, Bremer was a colorful figure in the St. Croix Valley, where he spent much of his life.

Bremer, a writer and photographer, was 60.

"I like to think I've made a difference," Bremer said in an interview last year after he was diagnosed with pancreatic and liver cancer. He described himself as an "old hippie" who had a passion for blues music, had an extended social circle, and lived a Mother Earth existence in the woods near the St. Croix River.

In recent years, his main target was Bachmann, a Republican whom he condemned as a "goldbricker" inattentive to matters in Congress while using her position to promote her religious and anti-gay beliefs. His searing 288-page review of the three-term congresswoman in his book, "The Madness of Michele Bachmann," was published just a week after the release of her autobiography, "Core of Conviction." "One of his strong points was his ability to follow the money," one of his co-authors, Ken Avidor, said Wednesday. "For me the legacy of Karl Bremer is a no-holds-barred fervent belief of defending the environment and the public realm of the state."

Bremer took on the rich and powerful in his blog, for which he won state awards for "best use of public records." He also was an architect of an anti-Bachmann website and assailed promoters of a new St. Croix River bridge as inflicting the public with "a river of misinformation" about its costs and consequences. "You make some friends along the way and some enemies," he said.

His wife, Chris, described him Wednesday as "a champion for the little guy" who initiated long conversations with strangers about various topics. "I know he's going to be missed for many reasons, as a music lover and a rabble-rouser. He was larger than life," she said.

Bremer had lived in Stillwater since 1962 and graduated from high school there. He was drafted into the Army in 1972 and spent two years in the military police guarding prisoners at Fort Dix, N.J., before taking up a commune-like existence in an old schoolhouse near Bemidji.

As editor of the Bemidji State University student newspaper, he pressured the academic vice president to release an internal study of grading disparities.

"Everywhere I go I have the knack to uncover fraud," Bremer said last year. He edited several publications over the years, including the New York Mills (Minn.) Herald, the Statewatch publication of the Minnesota Public Interest Research Group, and Airport Services, a magazine for aviation managers.

He's also been a communication specialist for the Minnesota House DFL Caucus.

His resistance to the $690 million St. Croix bridge project -- "wrong bridge, wrong place" -- led him to file a complaint with the state auditor over an $80,000 donation the Stillwater City Council tried to give the pro-bridge Coalition for the St. Croix River Crossing.

The money, he argued, was donated illegally. The auditor's attorneys agreed, and the coalition gave the money back.

"It's a good old boys' network in Stillwater. They treat the taxpayers like their own private fiefdom," Bremer said at the time.

He faithfully attended the New Orleans Jazz Fest, produced a calendar of Bayfront Blues Festival musicians with photographs he had taken over 16 months, and wrote extensively about the music he loved.

Bremer was diagnosed with stage 4 pancreatic cancer in December 2011. "I haven't spent much time dwelling on it because it really doesn't serve any purpose," he said then. "I've got plenty more to do, plenty more to write."

A celebration of life will be held sometime in the coming month, Chris Bremer said.

"I asked him what he wanted for that. His comment was good food and good wine," she said. "His work wasn't finished. It's too bad they took a good man away."

Kevin Giles • 651-925-5037 Twitter: @stribgiles