Ashwin Ramaswami is a 25-year-old Stanford University and Georgetown University graduate who ran against an incumbent Georgia state senator who is also an indicted fake elector in Donald Trump’s attempt to overturn the 2020 election. Everyone on the Bluebonnet data fellow team and campaign knew that it would be a challenging race for Ramaswami, but I found it inspiring that someone so young with so many prospects would be willing to jump into a race that might otherwise go uncontested, especially against an incumbent with a proven disdain for democracy. I was very excited to have the opportunity to help his campaign as a project lead in the May 2024 Bluebonnet Data cohort.
Ashwin, like myself, comes from a technical background, and had a lot of interesting and innovative suggestions for how we could utilize new technologies to assist his campaign. We also hoped anything we built might eventually be open sourced to help future progressive candidates.
Canvassing Chatbot
Door knocking and canvassing can be intimidating for new volunteers. Ashwin hoped that roleplaying with a large language model could show potential canvassers that the experience is quite rewarding. Additionally, if the chatbot works well, it could even be used as a tool to persuade swing voters. The current state of the art in LLMs (large language models) is still such that they might hallucinate and say strange or inaccurate things to the user. However, they’re suitable for roleplaying the experience of canvassing even if nobody should be making their decisions in the voting booth without fact checking them.
I’m an experienced data engineer and data scientist, but thinking about user experience and making decisions about product design is all a bit new to me — trying new things is part of what attracted me to becoming a project lead for Bluebonnet Data! We produced a chatbot to train volunteers by simulating the experiences they'd have while canvassing. An initial modal pop-up ensured that the user would have the chatbot experience clearly explained to them. Additionally, this message can be easily configured and any warnings about interacting with the chatbot could be added here.
Another consideration was how the user should speak to the bot. When the potential canvasser first lands on the page, the bot should respond as though someone just knocked on their door. We wanted the user to have a free-text box so they can practice coming up with good things to say in this social context. However, we also populated buttons with pre-selected chat options. This should help combat the “blank page” problem, wherein people (especially folks who might not have interacted much with a chat bot and don’t know what is possible) are intimidated and don’t know how to start or continue the discussion.
```
{ choices: "He has a strong background in technology and cybersecurity, which is important in today's world." , "He's committed to expanding Medicaid and making healthcare more affordable."
message: "I don't know much about him. Why do you think he's the best choice?"
points: 3}
So any time we hear back from the model with the virtual voter’s response (that’s the “message” attribute), we’ll also get some options that make sense to drive the conversation given that context (that’s the “choices” attribute).
Notice that we also asked the model for a “score” value which is some numeric measure of how good the user’s input was. If I say “Ashwin Ramaswami has experience in election security and believes in protecting our democracy,” I receive +2 points for making an accurate point. If I say “Ashwin Ramaswami is an elderly lighthouse keeper,” I am scored -5 points for telling the virtual voter something inaccurate.
But how does our model know that this is false? We pass the model a comprehensive text compiled from Ashwin’s own platform as well as articles from trusted media outlets such as the New York Times. Essentially, we augment the already large pool of information the LLM has seen with very specific and detailed content about the candidate so our chatbot can give detailed and correct responses about his platform. This is a simple alternative to retrieval-augmented generation that is possible because we know most of the discussion should be about Ashwin Ramaswami.
Finally, when the user has scored enough points, they see a modal that tells them they’ve convinced the voter and gives them the option to share to social media. Ideally, this could eventually create some organic traffic for the candidate if core supporters are sharing the conversations they had in virtual doorknocks. Though the novelty of talking with LLMs may wear off some day, at least for the moment this is still not something that most campaigns are doing and it could generate significant interest and excitement!
—————————————————————————————————————————
About the Author
Cody Braun was the project lead for the Ashwin Ramaswami fellow team in May 2024. He gives credit to Henry Randall and Aldo Polanco for doing most of the real work. Cody is a Vegas-based data engineer/data scientist/sometimes tech co-founder, let’s build something together.
Comments