Inspiration
Every creator we spoke with complained about “what should I make next?” and losing hours doom-scrolling for ideas. We wanted a coach that watches alongside you, understands why certain reels hook you, and turns that taste into lightning-fast guidance.
What it does
Affinity automatically captures the reels you watch, maps every subject, aesthetic, and trend inside a Neo4j knowledge graph, and condenses each cluster to a single pgvector fingerprint. When you ask a question, by text or voice, it locates the closest cluster, ranks the strongest five reels in that theme, and has Gemini craft an answer that references what you actually enjoy. ElevenLabs reads the response back, so the whole experience feels like chatting with a creative partner who “gets” your feed.
How we built it
- macOS capture tool collects screenshots, Gemini Vision generates descriptions, and we embed the text.
- We persist reels, subjects, aesthetics, trends, and similarity edges in Neo4j so we can query a living knowledge map.
- Cluster centroids are averaged once and stored in Postgres with pgvector; only centroids get embeddings, saving cost.
- The chat flow embeds the user’s question, retrieves the closest cluster via pgvector, grabs its top reels, and prompts Gemini with that context.
- ElevenLabs handles speech-to-text for incoming questions and text-to-speech for the reply, completing the conversational loop.
- Next.js renders a live graph dashboard fed by the backend APIs.
Challenges we ran into
- Neo4j + pgvector syncing: ensuring every cluster update re-computed a centroid before hitting Postgres.
- Gemini prompt engineering: balancing accuracy with playful analogies rooted in the user’s reels. macOS privacy hurdles for keyboard/screen capture during local development.
- Coordinating multiple external APIs (Gemini, Neo4j Aura, Postgres/pgvector, ElevenLabs) without blowing past rate limits.
Accomplishments that we're proud of
- Built a full taste graph that updates in real time and drives retrieval for both chat and visualization.
- Reduced embedding cost by an order of magnitude by only vectorizing cluster centroids.
- Delivered an end-to-end voice experience that feels like a personal creative coach.
- Unified text, graph, and audio pipelines into one cohesive “content intuition” tool.
What we learned
- Knowledge graphs plus vector databases make an amazing duo for creative search.
- Voice interfaces need careful transcription cleanup to keep prompts grounded.
- Hackathon-time DevOps for multiple SaaS backends is its own challenge!
What's next for Affinity
- Multi-user accounts with taste profiles and collaboration boards.
- Predictive “trend radar” scoring to surface early signals inside the graph.
- Scheduled proactive prompts: “Here’s a three-shot storyboard inspired by your growth-hack cluster.”
Built With
- elevenlabs
- fastapi
- gemini
- neo4j
- next.js
- pgvector
- python
- tailwind
- typescript


Log in or sign up for Devpost to join the conversation.