Inspiration
This project was inspired by our work in mock congressional debate, where hours can go by just finding a good topic — let alone the right stance to argue. We built Clover Hunt with debaters and legislators in mind.
What it does
Clover Hunt has two modes: Debate and Fact Check.
In Debate mode, three AI agents collaborate: two argue opposing stances on a question using real research papers, and a third acts as judge, crowning the side with the stronger argument and evidence. Fact Check mode is simpler and perfect for casual users — it cites research papers to confirm or debunk a single claim.
Both modes are built to share: export as a file, export citations, or generate a link so others can reference the result later.
How we built it
We used React and Tailwind for the frontend, the Mistral API to power our AI agents, and OpenAlex as a reliable source of academic papers. The two argumentative agents run on the lightweight mistral-small-latest, since their job is just finding fitting evidence. The judge agent uses a larger model to bolster its reasoning capacity.
Challenges we ran into
Latency
One of the biggest usability issues was latency. In our earliest iterations, it could take up to 15 seconds to produce an output. To combat this, we switched the judge agent from mistral-large-latest to mistral-medium-latest, significantly increasing its speed while maintaining a good amount of reasoning capability.
Evidence Selection
The next big obstacle was ensuring the academic sources we cited were actually reliable. Our earlier iterations ranked search results by citation count, which, in theory, should surface reputable studies. In practice, this meant that studies spearheaded by a company with a clear conflict of interest often outranked lesser-known but more rigorous ones. For a tool whose entire pitch is "the debating tool that finds your four-leaf clover," an evidence-selection bug that looks correct but isn't is about as close to an existential product flaw as this project had.
To fix it, we experimented with different filters, since there was no single obvious "relevance" toggle. What ended up working was filter: "has_abstract:true,is_retracted:false,type:!preprint" — meaning our debater agents only pull from papers that have an abstract to actually reason from, haven't been retracted for serious flaws, and aren't unreviewed preprints, which are a telltale sign of a weaker source.
Accomplishments that we're proud of
Throughout the entire process, we gave a lot of attention to the GUI. We wanted to make the user feel like they're using a professional tool, while giving them a unique experience. We also wanted to shy away from UIs that looked AI-generated, because they both lacked an identity and offered a subpar user experience.
Thanks to the ReactBits component library, we were able to construct an interface that gave off a calm and simple aura. Through animated SVGs and scrollytelling, we made the debate interface look like something important was unfolding before the user's eyes. We tuned nearly every element to make sure it was properly visible on mobile devices too. The result is an interface that reads less like a chatbot output and more like a document worth trusting — every animation, color, and layout decision made in service of that impression, not just for its own sake.
What we learned
This was actually our first project using React and Tailwind CSS. Our previous projects used Python, Flask, and Jinja to build a web interface, which — while capable — was incredibly bulky and inefficient in a hackathon environment. But in the days leading up to the hackathon, one of our teammates recommended ReactBits, which became an important resource for our design backbone.
We also learned the 7 pillars of user experience: hierarchy, progressive disclosure, consistency, contrast, accessibility, proximity, and alignment. While it's tempting to think these only matter for cosmetics, this thinking permeated into the backend as well — like our agentic architecture, which was especially useful for telling the user the moment an agent had finished processing.
What's next for Clover Hunt
The most important change we need to make is upgrading our API tier so we never hit rate limits again — user experience comes first, always. On the trust and transparency side, we'd like to surface the full pool of evidence an agent gathers, not just the citations it ends up using, and add a rerun-and-compare feature to show how consistent the model's judgment actually is on a given topic. For the legislative and policy use case specifically, a condensed "brief mode" export and a batch fact-checking tool — scoring every claim in a speech or bill summary at once — would push much further into our original pitch. And longer-term, moving off browser-local storage onto real backend persistence would unlock account-based history, a searchable public debate library, and shareable links that aren't constrained by URL length.
- Renesh ❤️
Built With
- mistral
- openalex
- react
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.