Graph the Perfect Mentor: How I Turned Hackathon Matching from Random to Precise using Neo4j
We organize Hack4Bengal, one of the largest in-person hackathons in Eastern India every year. Every edition, two things go wrong that no amount of spreadsheet wizardry can fix:
Mentor matching is a guess. We scroll through a list of mentors, try to remember which team is building what, and hope the mentor we assign actually knows the tech stack. Half the time, a team building a computer vision project gets a mentor whose expertise is frontend frameworks.
Judge assignment is worse. When a project uses Neo4j, LangChain, and Python, but the assigned judge only knows React, you get surface-level feedback. The team deserves better. The judge feels lost. Everyone wastes time.
Both of these are relationship problems. The answer isn't in any single row of a spreadsheet. It lives in the connections between people, skills, projects, and tracks. That's a graph problem. And Neo4j just shipped a feature that makes solving it surprisingly easy.
Why spreadsheets fail here
In a spreadsheet, "Manish" is a row. "Python" is a column value. "MedGraph" lives in a different sheet. To answer "which mentor knows the same technologies that MedGraph uses?", you'd need to cross-reference three sheets, write nested VLOOKUPs, and pray nothing breaks when you add a new mentor.
In a graph database, these are directly connected:
(Manish)-[:BUILT]->(MedGraph)-[:USES_TECH]->(Python)<-[:KNOWS_SKILL]-(Sanjay:Mentor)
Read it like a sentence: Manish built MedGraph. MedGraph uses Python. Sanjay the mentor knows Python. One traversal. No joins. The connection is the data.
Here's the full picture of what I modeled. Solid arrows are facts (who built what, which tech a project uses). Dashed arrows are the matching paths the AI agent discovers (which mentor/judge knows those same technologies):
What I built
I loaded a small hackathon ecosystem into AuraDB Free (Neo4j's free cloud database, no credit card needed): 8 developers, 5 mentors, 5 judges, 10 technologies, 5 tracks, and 6 projects. All connected by relationships like BUILT, KNOWS_SKILL, USES_TECH, JUDGES_TRACK, and MENTORS_TRACK.
The Cypher (Neo4j's query language) to create this reads almost like English:
CREATE (deepak:Mentor {name: "Deepak", company: "Google", domain: "AI/ML"})
CREATE (deepak)-[:KNOWS_SKILL {level: "expert"}]->(tensorflow)
CREATE (farmsense:Project {name: "FarmSense", description: "Crop disease detection"})
CREATE (farmsense)-[:USES_TECH]->(tensorflow)
CREATE (farmsense)-[:IN_TRACK]->(aiTrack)
After loading all the data, the Query console confirmed 41 nodes and 113 relationships, spanning 7 node types and 7 relationship types:
And when you visualize it, you can see the connections. Each color is a different entity type. The dense cluster in the middle? That's Python, connected to almost everything. Makes sense.
Building the agent (no code, seriously)
This is where Neo4j Aura Agent comes in. It's a new feature that shipped in February 2026. You point it at your graph, describe what you want in plain English, and it auto-generates an AI agent with built-in GraphRAG tools.
I clicked Agents in the sidebar, then Create with AI, and typed one prompt:
"Create a Hackathon Operations Assistant that matches mentors to teams based on overlapping tech skills, recommends the best judge for each project based on technology expertise, and identifies collaboration patterns between developers across hackathons."
It analyzed my graph schema and generated a complete agent: system prompt, description, Cypher template tools for mentor matching, judge matching, and collaboration finding. All configured, ready to test.
No Python scripts. No LLM API keys. No writing retrieval logic by hand.
Asking the hard questions
In the built-in test playground, I asked:
Which available mentor is the best match for the MedGraph team based on tech stack overlap?
The agent used the Mentors for Project Technologies Cypher template tool, queried the graph, and returned a ranked list:
Sanjay came out on top: LangChain (advanced), Neo4j (expert), Python (advanced). Three out of three technologies that MedGraph uses. Deepak and Raghav were strong runners-up. Not a guess. A precise, graph-traversal-powered match.
The reasoning tab shows exactly how the agent got there. It chose the right tool, passed "MedGraph" as the project name, retrieved the skill overlap data, and then reasoned about which mentor fits best:
This is what makes GraphRAG different from asking a generic AI. The answer is traceable. You can see the Cypher query, the raw data, and the reasoning. No black box.
I tried the judge matching next:
Which judges are assigned to the "AI for Social Good" track? What technologies do the projects in that track use, and do those judges know those technologies?
Dr. Patel: Python yes, TensorFlow yes, OpenCV yes. 3/3 match. He's the right judge for that track. Lisa: Python yes, TensorFlow yes, OpenCV no. 2/3. Still a strong pick. The graph made this obvious in seconds. The auto-generated agent handled mentor matching perfectly on the first try, but I had to rephrase the judge matching question to be more specific before it worked.
What I'd build next
This was 41 nodes. A proof of concept. But the schema scales directly. After Hack4Bengal 4.0 (500+ participants, 50+ mentors, 20+ judges), I want to load real data and solve a few more problems:
Auto-balance teams by finding developers with complementary skills who haven't worked together before
Flag conflicts of interest when a judge previously mentored someone on a team
Recommend tracks to participants based on their skill graph, before they even pick one
Aura Agent also supports deploying as a REST API or MCP server with a single toggle, meaning any MCP-compatible AI client (Claude, VS Code, Cursor) could query this graph directly. External deployment starts at $0.35/hour.
Try it yourself
The full Cypher data loading script is on GitHub Gist. If you want to build this:
Create a free instance at console.neo4j.io
Load the Cypher script via Query
Go to Agents, Create with AI, and describe your use case
Start asking relationship questions
Useful links:
I'm Manish Kumar Barnwal, a Developer Relations Engineer and organizer of Hack4Bengal. Find me on LinkedIn, X (Twitter), GitHub.



![GitHub Campus Expert 🚩[SELECTED] | Application Process](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1644247232753%2Fx_MaLTfAM.png&w=3840&q=75)