The full story

The timeline

When it began

It began with a vote about housing, and it escalated after a legal question about the residency requirements of a sitting mayor.

Chapter 3 of 9 · 1 minute read

  1. The Vista Ridge vote

    I voted for permanent housing with wraparound services and security, a HUD project where, by law, registered sex offenders could not live. Opponents spread claims that it would be a shelter for drug users and sex offenders. Crowds booed at the town hall, and the hostility toward me became personal.

  2. The quo warranto motion

    After the housing fight settled, I made a motion asking the council to examine whether the then-mayor lived inside city limits, which the law requires. I prepared by pulling my own ten years of residency records in about half an hour. The mayor later resigned, and months of online attacks on my character followed.

  3. Public comment turns personal

    Speakers began using their three minutes to demean me. They have First Amendment rights, and I honor them. The behavior moved beyond comment when it was paired with staring, noise-making and following people out of the chamber.

  4. From screens to the street

    Altered images spread by email list and newsletter. Then came a photo of my car and home posted online, notes left at private gates, and a shredded event sign.

  5. Election season, 2026

    The attacks increased as my re-election campaign picked up. I ran my race while documenting every incident.

The next chapter

Let’s keep the conversation going.

I am writing a book and a case study, and planning workshops and a peer community for officials, candidates and staff.