When AI Pitches Propaganda About Ann Arbor Politics

Mar 8, 2026 | City Council

Last week, the nonprofit news source Bridge Michigan republished an article about Ann Arbor City Council. That article included a large amount of AI generated analysis from a company called Hamlet, based in California. The information in the Hamlet article was riddled with inaccuracies that should have been easy to spot.

https://bridgemi.com/michigan-government/study-ann-arbor-council-most-divided-in-nation-and-thats-a-good-thing/

We rely on respected publications like Bridge to provide readers with accurate information. There is an expectation that professional journalists determine what is or is not true and can put it in local context. What Bridge did in publishing and lending credibility to the Hamlet article is extremely disappointing.

WHAT IS HAMLET?

Hamlet was founded in 2022, to provide “AI powered civic technology.” It uses artificial intelligence to monitor City Council and Planning commission meetings. Hamlet is promoted as an information source for developers and property investors trying to understand the political landscape of local communities.

https://www.myhamlet.com/

As described in PitchBook, Hamlet “combines artificial intelligence with human verification.” Founder Sunil Rajaraman recently reported that the company had collected about $10 million from investors: ANIMO Ventures, Crosslink Capital, Glen Nelson Center, Home Technology Ventures, Kapor Capital, Slow Ventures, StoryHouse Ventures, and Ann Arbor-based Banana Capital. The funders obviously see value in the product and have confidence in Rajaraman’s platform.

https://techcrunch.com/2025/12/05/new-streaming-channel-launches-to-give-viewers-a-peek-into-city-council-meetings/

Last year, Hamlet started a TikTok account, featuring short clips from public government meetings. The account is meant to be humorous — it calls itself “Local government, unfiltered” and invites viewers to “see your city in action.” Most of the videos do not include the work of local government, but mock the local residents who show up to engage in public comment. The account has only about 1,100 followers.

https://www.niemanlab.org/2026/01/highlighting-the-funniest-moments-this-startup-aims-to-bring-public-meetings-into-the-tiktok-era/

A recent press release boasts about how Hamlet’s services in partnership with a “land intelligence platform” can facilitate more data centers:

The integration is especially relevant for data center developers, homebuilders, and commercial real estate teams who need to understand not just where land is available, but how receptive a community is to new development. For example, a data center developer evaluating expansion across several metro areas could use Acres to identify available parcels and assess land conditions, while Hamlet’s sentiment data reveals which cities have discussed data center projects favorably – and which have raised concerns – in recent public meetings.

https://www.globenewswire.com/news-release/2026/02/23/3242587/0/en/Acres-com-and-Hamlet-Partner-to-Bring-Local-Government-Sentiment-Data-to-Land-Intelligence.html

In February 2026, Hamlet published an article titled Ann Arbor: The City that Can’t Agree, by Sunil Rajaraman. It is full of AI generated analysis and Rajaraman was, presumably, the human verification. Below, I explain the sloppiness of both the AI analysis and Rajaraman’s verification of it.

https://district.myhamlet.com/articles/ann-arbor-divided

WHAT IS MEASURED & WHAT IS NOT

The Hamlet article asserts that Ann Arbor city government has historically included a significant degree of dissent – as compared to 142 cherry-picked communities – and that this dissent continues to exist now. Rajaraman confidently concludes: the current Ann Arbor City Council offers a remarkable and admirable degree of dissent and difference, much more than other communities and approximately equivalent to previous Councils.

Rajaraman explains a methodology: pulling City vote results from Legistar. Six times, the article clarifies that conclusions are drawn and measured from the specific “dataset.”

Problem: his dataset undercounted and miscounted the votes. The measured percentage of dissent is based on incorrect numbers.

When City Council votes by “roll call” – each member voting one at a time – Legistar records the vote for each Council Member and includes absences. When City Council decides questions by “voice vote” – calling out votes all at once (e.g. “All in favor… All opposed”) – individual votes and absences are not recorded. For voice votes, Legistar can only record “approved” or “defeated.” In years past, a voice vote at City Council might have included one or two members in dissent.

Additionally, every Council meeting includes a variable number of items that are voted on all together in a single vote: the Consent Agenda. It is a common feature of all local government meetings and it is based on staff’s understanding of Council’s likelihood to agree. Any member of City Council can ‘pull’ an item off of the Consent Agenda for discussion and a separate vote. At the most recent Ann Arbor City Council meeting (3/2/26), the Consent Agenda included 27 items and only one was pulled for discussion.

In 2018, I tried to understand the voting dynamic reported by others: a majority of council members led by Mayor Christopher Taylor voted in lock-step as a block, regardless of what Ward they represented and whatever concerns were unique to their Ward constituents. I recognized how this dynamic was effectively hidden in Legistar’s record of voice votes and decided to offer a solution. During the four years I served on Ann Arbor City Council, I published easy to understand voting charts to illustrate all individual votes (including voice votes). I still maintain it. You can find my Ann Arbor City Council voting charts (November 2018 to present) on my websites:

https://a2elnel.com/post/category/voting-chart/
https://a2council.com/category/city-council/

COUNTING “DISSENT”

The Hamlet article explains its definition of “dissent”:

Dissent rate = Nay votes ÷ (Yea + Nay votes). Abstentions, absences, and procedural non-votes are excluded from the denominator. Unanimity rate = share of agenda items receiving zero Nay votes.

Hamlet measures an artificially high rate of dissent because unanimous voice votes literally don’t count. The definition above would exclude every voice vote as a “procedural non-votes” because Legistar does not record Yea or Nay for those votes.

Hamlet calculates dissent from roll call votes where every “no” vote is a “dissent”; the total number of “no” votes is divided by the total number of yea and nay votes combined. If Council agreed to reject an item and voted unanimously “nay,” that vote would count as 100% dissent. Remarkably, Hamlet’s calculation method pushes the dissent rate higher as absences increase, E.g. If two council members are absent, a vote of 2 (nay) and 7 (yea) can measure a higher dissent rate than a full attendance vote of 2 (nay) and 9 (yea). In the last three years, Council absences have skyrocketed— this method conveniently inflates the current Council’s dissent rates.

November 2022 marked the beginning of a City Council in which every single member was endorsed by Mayor Christopher Taylor. Immediately, nearly all votes were unanimous voice votes. That new Council (the Unanimous Council) took unanimous voice votes on every kind of significant issue, including ordinance amendments and rezonings. None of these votes – the overwhelming majority of votes – contribute to the Hamlet analysis.

This Unanimous Council took so few roll call votes that in August 2023 – nine months and nineteen meetings into their term – Mayor Taylor felt the need to explain to his colleagues HOW a non-unanimous vote is conducted.

CTN Video: Ann Arbor City Council August 21, 2023 (timestamp 2h15m54s)

Regarding 2023, the Hamlet article admits vaguely that “a smaller sample of votes that year clouds the signal.” This is an understatement: the signal virtually disappeared.

Even without a “signal,” Rajaraman plots numbers and percentages, presenting them as a very precise and comparative measure of City Council voting behavior. How?

Hamlet describes its data source:

We queried the Ann Arbor (a2gov) Legistar instance directly via its public API and PostgreSQL data warehouse, covering council meetings, committee sessions, and commission hearings from 2007 through early 2026.

Methodology notes describe the Ann Arbor “sample” as

53,207 individual votes from 409 unique people across 5,440 meetings.

The sample above is roughly ten times the number of unique people who served as Council members and over ten times the number of City Council meetings that included votes. In other words: dissent rates that seem to describe City Council actually come from other votes scraped from Legistar, where unelected members of boards and commissions engage in roll call votes. Muddling the data together, those extra people and extra meetings apparently include some dissent that does not exist on Council.

The article hints at where facts don’t fit their analysis. Note how the assessment of Ann Arbor is worded carefully, without actual comparison:

In 142 American cities, 93.83% of agenda items pass unanimously. In Ann Arbor, only 81.81% of individual votes are yeas.

The percentage referenced as “in Ann Arbor” is calculated from a pile of votes mixing boards and commissions with City Council, excluding a huge number of unanimous voice votes.

To illustrate: we scraped Legistar data to recreate the Hamlet dissent calculation. We also calculated dissent based on all votes recorded in the A2ELNEL voting charts, with and without the Consent Agenda. Including the Consent Agenda as individual items pushes the rate of dissent even lower. The Unanimous Council elected in November 2022 had a dissent rate of less than one percent in their first full year (2023).

Ann Arbor Dissent Rate by Year (2014-2015)

HALLUCINATIONS & INTENTIONAL OMISSION

The Hamlet article features a grid chart (“Pairwise Analysis”) to theoretically illustrate the similarity/difference in voting patterns between different Council Members from 2018-2022. It explains methodology for pegging an agreement rate: “computed over 50–719 shared votes per pair.”

Problem: the chart hallucinates an eleven member council that never existed.

Hamlet Pairwise Data - Ann Arbor City Council (2018-2022)

Hamlet “computed” agreement rates between people who never served together and did not share a single vote. As presented by Rajaraman, current Council Member Disch has an “agreement rate” with three Council Members she never served with, including an agreement rate of 49.6% with former Council Member Bannister, who she replaced. He reports similarly for former Council Member Song—the chart claims that Song had an agreement rate of 52.1% with former Council Member Lumm, who she replaced.

The jumbled analysis of 2018-2022 ignores the elections of 2020 and notably excludes five Council Members who also served during those years. Coincidentally, the five people omitted are allied with Mayor Taylor: former council members Chip Smith and Zach Ackerman, and current Council Members Jen Eyer, Erica Briggs, and Travis Radina.

Data should have been presented in separate charts, grouping the Council Members that served together during two year periods— that would illustrate agreement rates between people who actually shared votes on City Council. Notably, Rajaraman did not do this and he also did not attempt to make a similar chart for any year since 2022 (i.e. the current Unanimous Council).

We calculated actual pairwise agreement rates using the A2ELNEL voting chart data. Those charts show very clearly how much Mayor Taylor’s leadership has promoted lock-step unanimous voting.

A2ELNEL Pairwise Data - Ann Arbor City Council (2018-2020)
A2ELNEL Pairwise Data - Ann Arbor City Council (2020-2022)
A2ELNEL Pairwise Data - Ann Arbor City Council (2022-2024)

“MAY SIGNAL A SHIFT”

The AI generated report from Hamlet presents the dissent rate data with the caption:

The dissent rate has exceeded 12% every year in the dataset, peaking at 22% in 2015 and 2021. The 2020 faction sweep barely registered—though the 2023 dip to 12.3% may signal a shift.

The actual dissent rate for 2023 is less than one percent.

Since 2022, we have an elected City government in which every single member was chosen and endorsed by one person. The AI analysis suggests that this “may” signal a shift.

The current monolith of Council was achieved with unprecedented amounts of money, much of it in large amounts from big donors, PACs, and from out of town. We now have a City government elected and funded in large part by wealthy donors and non-local special interests. As candidates, members of our current city government agreed to be managed as a collective. Once elected, they predictably vote as a collective.

https://annarborobserver.com/election-2022/

That context is well known in Ann Arbor but apparently not in California.

DISSENT WITHOUT CONSEQUENCES

Rajaraman grossly overstates the amount of dissent that currently exists in Ann Arbor and then points to this dissent as evidence of disagreement. Reading the article about Ann Arbor, a developer might very well draw the strange conclusion that their projects and proposals will meet scrutiny and critique from the current City Council. Won’t they be surprised!

Based on the correct numbers, the “dissent” that has existed since November 2022 is minimal. More significantly: that dissent doesn’t actually make a difference. Dissent is rarely an obstacle to approval.

https://a2elnel.com/post/the-council-that-cant-say-no-300-million-for-arbor-south/

Since November 2022, every single request from developers – multiple rezonings and multiple ordinance changes – has been approved, nearly all of them unanimously. Increasingly, these requests come from venture capital and non-local corporate interests. Local developers and campaign donors get something even better: public subsidy.

https://www.mlive.com/news/ann-arbor/2026/02/tax-capture-deal-for-ann-arbor-development-gets-councils-8-2-ok.html

Where a previous Council prioritized investment in affordable housing, a new Council directs the sale of public assets to private interests.

https://a2elnel.com/post/from-public-process-to-private-broker-selling-and-developing-the-kline-lot/

Where a previous Council sought regulation of short term rentals (Airbnb), a new Council approved both loopholes and expanded opportunities for an investor and campaign donor who was later exposed as a convicted felon.

https://www.michigandaily.com/news/focal-point/a-local-developer-an-fbi-inquiry-and-money-in-ann-arbor-politics/

A new approach to economic development is deregulation and “rubber stamp” for any market-rate, private development put in front of them.

Council Members offer dissent without intending it to have any impact on the result. Members in dissent change their position when a ‘nay’ vote would actually make a difference.

CTN Video: Ann Arbor City Council August 7, 2025 (timestamp 34m57s)

In other words: there is unanimous agreement that all agenda items will be approved.

Without irony, Sunil Rajaraman characterizes the current Council – the one taking resources away from affordable housing and promoting, instead, private investors – as “progressive.”

“DATA” IN SERVICE TO PROPERTY INTERESTS

Why would Hamlet produce this article about Ann Arbor? The ”human verification” from founder Rajaraman is a confession of just how poorly he understands local government and the data attached to it: he overlooked and omitted a huge portion of voting data and fabricated data that does not exist.

Rajaraman draws conclusions that aren’t just slightly wrong, they are completely and utterly wrong. Why publish an article full of so much easily refutable nonsense? Doesn’t this damage the credibility of Hamlet?

Credibility does not appear to be the goal here. The article by Hamlet is indistinguishable from carefully crafted propaganda and misinformation. Coincidentally, that propaganda and misinformation would reassure the Ann Arbor community that current Council Members – the ones who reliably and consistently serve property investors and developers – are actually providing excellent, inclusive democracy.

Sunil Rajaraman offers distortions that do not paint an accurate picture for the readers of Hamlet. However, they may serve the needs of Hamlet’s customers: property investors and developers who benefit from a Council that approves literally everything.