Inspiration
We're materials scientists and chemical engineers — not CS majors. We read papers every day, and we constantly run into the same frustration: you find a paper that excites you, but there's no one around to talk about it with. Your lab mates work on something different. You could email the authors, but good luck getting a reply as a grad student. And yet, somewhere on campus, there's definitely someone who knows this topic inside out. You just have no way to find them.
We didn't set out to build an AI project. We set out to solve our own problem — and Gemini turned out to be the perfect tool for it.
How We Built It
We curated a dataset of 230 Cornell researchers across three departments (Materials Science, Chemical Engineering, and Biological & Environmental Engineering) from faculty pages, personal websites, and publication records.
Each researcher's profile is encoded into a 768-dimensional vector using SPECTER2, an embedding model trained on $6\text{M}+$ scientific citation graphs — it understands academic jargon like "CVD," "AFM," and "XRD" far better than general-purpose models. These vectors are indexed with FAISS and combined with BM25 keyword matching via Reciprocal Rank Fusion for hybrid retrieval.
Gemini is woven into every step of the user experience:
- Paper analysis — extracts key topics from uploaded PDFs
- Conversational interest discovery — multi-turn dialogue to understand what specifically the user wants to discuss
- Query expansion — enriches the user's intent with related academic terms before matching
- Match explanation — generates clear, human-readable reasons for each recommendation
The frontend is built with Streamlit, with a glassmorphism dark theme designed to feel more like a product than a prototype.
Challenges We Faced
Our biggest surprise: more AI didn't mean better results. We tried cross-encoder reranking, Gemini-based reranking, and web-scraped data enrichment. All of them made things worse. The curated faculty data was already high quality, and piling on more AI just diluted the signal.
We think this is a mistake a lot of teams make — treating AI as a plug-and-play solution and expecting it to "just figure it out." It doesn't work that way. AI is a generalist, not a domain expert. It can retrieve and generate, but it can't judge which facts matter in a specific scientific context. That judgment has to come from you.
What did work was using Gemini where it genuinely shines — in conversation and language understanding — and keeping the hard retrieval grounded in domain-specific tools like SPECTER2. We decomposed the problem first; then let AI execute the parts it's good at. As scientists who use AI every day, we've learned the difference between throwing a problem at a model and actually wielding it. Resonance is built on that distinction.
Log in or sign up for Devpost to join the conversation.