← Portfolio
Vibe coding · Full-stack web app
Consensus
A survey tool that finds the opinion groups hiding in a population, then uses AI to describe what each group believes and where they split.
React 19TypeScriptViteRechartsFastAPISQLAlchemySQLitescikit-learnOpenAI GPT-4o-mini
Why I built it
Polls report averages, and averages hide the camps. I wanted a tool that shows who agrees with whom, not only how many people agree.
What it does
- Write a survey as a set of short statements.
- Participants vote agree, disagree or pass, one statement at a time, from a shared link.
- PCA and K-means clustering group people by how they voted.
- Optional AI summaries describe each group’s beliefs and its key disagreements.
How it works
- Create
- Collect
- Analyze
- Describe
Key decision
Clustering first, AI second
The groups come from plain statistics on the votes. The language model only describes groups that the math already found.