Inspiration
As University of Michigan students, we've all hit the same wall: you want to get involved in research, but finding a lab that actually fits your interests means hours of crawling through outdated faculty pages and department websites and then somehow finding the courage to cold-email a professor you've never met. For a lot of students, without that inside knowledge, that's where the dream of doing research dies.
At the same time, our inboxes are flooded with research recruitment emails we never act on because there's no easy way to know if we even qualify.
Research Rabbit fixes both sides of that problem, matching students to relevant labs and studies based on their actual profile, and removing the last barrier by writing the outreach email for them.
What it does
Research Rabbit is a centralized platform that aggregates research participation opportunities from across campus into one clean, filterable feed. Students can filter studies by compensation, time commitment, eligibility, and research area, so instead of reading through paragraphs of fine print, you immediately see what's relevant to you.
The Gmail integration is our core technical feature. Research Rabbit connects to your university email via OAuth, scans for legitimate recruitment emails, and uses AI to extract the key details — study description, compensation, PI contact, eligibility criteria, and application link — directly into your opportunity feed. Studies you would have missed or forgotten now show up organized in one place.
On top of discovery, we built a personalized matching system. Students fill out a profile with their major, research interests, skills, and availability, and our AI surfaces the most relevant opportunities first. When a student finds something they want to pursue, Research Rabbit generates a personalized outreach email pre-filled with their details — tailored to that specific lab or study. Reaching out goes from a stressful blank page to a single click. Every application is then tracked in a dashboard showing Draft, Sent, Viewed, and Responded statuses so nothing falls through the cracks.
How we built it
We built Research Rabbit as a multi-page React application with a Python/FastAPI backend. The Gmail integration uses the Gmail API with OAuth 2.0 to securely access emails, and Gemini to parse recruitment content and extract structured study metadata. User preference profiles and opportunity data are persisted across sessions so the matching logic always has fresh context. The personalized email generation is also powered by Gemini, which takes the student's profile and the study details and composes a tailored outreach message.
Challenges we ran into
The Gmail integration was our hardest technical challenge. Getting OAuth working was one hurdle, but reliably identifying which emails were legitimate research recruitment messages — versus department newsletters, class announcements, or random listserv traffic — was genuinely difficult. We went through several iterations of our filtering logic, tuning AI prompts and adding heuristic checks around sender patterns, keyword signals, and formatting cues before accuracy reached a usable level.
The personalization layer was also harder than expected. Matching a student's profile to relevant studies isn't just keyword matching — it requires reasoning across context, like understanding that a psychology major interested in decision-making is probably a good fit for a behavioral economics study even if those words don't appear in their profile. Getting that to work consistently without hallucinating eligibility details took significant prompt engineering.
Accomplishments that we're proud of
The personalized email generation feature came out better than we expected. Watching it pull a student's major, relevant coursework, and research interests and produce a natural, coherent outreach email that someone would actually send that felt like a genuinely useful thing, not just a demo trick. We kept asking ourselves the question the hackathon prompt posed: "if a struggling student used this today, would it actually help?" For this feature, we believe the answer is yes.
We're also proud of getting the Gmail pipeline working end-to-end — OAuth, filtering, AI extraction, and display — in a hackathon window.
What we learned
We learned how to architect a multi-page React app with persistent state that actually flows correctly between pages, user preferences set during onboarding genuinely influence what surfaces in the feed, which required thinking carefully about state management from day one.
We also learned that prompting is a craft. Getting an LLM to reliably extract structured data from messy, inconsistent email formats and generate emails that feel personal rather than templated takes more iteration than we anticipated. We came out with a much sharper sense of when AI adds real value versus when it needs more guardrails.
And honestly, we learned how important scoping is. The cleaner, tighter version of this idea that we built was better than the sprawling version we started planning on day 1.
What's next for Research Rabbit
Our goal is to make Research Rabbit, a platform that is available for all universities, not just Michigan! We want to make our product more scalable so we can incorporate a larger student base. Improving Gmail filtering accuracy is the second immediate priority, we want the pipeline reliable enough that students can fully trust what appears in their feed. Beyond that, we want to expand data sources beyond Gmail: department websites, university research portals, and a direct submission flow so PIs can post opportunities themselves. A notification system that alerts students when a new matching study drops would make passive discovery much stronger.
Log in or sign up for Devpost to join the conversation.