Inspiration

KindredAI was inspired by the desire to create a more meaningful and authentic way for people to connect—one that goes beyond surface-level swipes and instead celebrates the unique tapestry of our tastes. I’ve always believed that what we love—our favorite music, movies, books, and places—says more about us than any profile picture ever could. I wanted to build a platform that could understand those nuances and help people discover true kindred spirits.

A key part of this inspiration came from experimenting with the QLOO API, which provides deep cultural intelligence and taste analytics. QLOO’s ability to map relationships between interests, artists, and cultural entities allowed me to enrich user profiles with insights that go far beyond simple lists of favorites. By leveraging QLOO, I was able to surface hidden connections and generate more insightful, personalized compatibility matches.

What it does

KindredAI takes in a user's favorite artists, albums, books, movies, destinations, and more, then uses generative AI and QLOO-powered cultural analytics to generate a compatibility profile. It helps users find others who share meaningful taste overlaps—whether for friendship, creative collaboration, or deeper connection.

How we built it

Frontend

  • Built with Next.js (App Router), React, and TailwindCSS for a clean, responsive UI.
  • Used Framer Motion for smooth transitions and delightful microinteractions.
  • Integrated shadcn/ui components (e.g., Card, Input, Button, Tabs, Label) for a polished, accessible UI and consistent design system.

Backend/API

  • Used Next.js API routes for handling profile creation, compatibility generation, and result caching.
  • Integrated QLOO API to expand user interests into a richer cultural graph.
  • Used Gemini (GoogleGenerativeAI) to generate compatibility blurbs and match tags using user input and QLOO context.
  • Leveraged Supabase for auth, data storage, and caching of AI results.

Database

  • PostgreSQL (via Supabase) to store user profiles and compatibility content.
  • Row-Level Security (RLS) policies ensure that users can only access their own data.

Caching Logic

  • Checks for existing compatibility entries before making API calls.
  • If not found, a new AI-generated compatibility response is created, saved, and returned.

Challenges we ran into

  • Integrating QLOO: Mapping its graph-based results into a structure that worked for AI prompts and frontend display required several iterations.
  • AI Rate Limits: Gemini’s free tier has low quotas. Caching and retry logic were crucial to avoid hard limits.
  • Parsing AI Output: Ensuring well-formed JSON was tough. Implemented fallback strategies and error handling.
  • User Identity: Supported both UUIDs and human-readable usernames for better UX. Required extra validation.
  • UI Polish: Designing a smooth, elegant experience across screen sizes with dynamic content was a challenge.

Accomplishments that we're proud of

  • Built a full-stack taste-based social matching app in under 48 hours.
  • Successfully integrated generative AI with real-time compatibility scoring.
  • Used shadcn/ui to rapidly build accessible, visually appealing components.
  • Developed smooth transitions and polished flows with Framer Motion.
  • Deployed a secure, performant stack with auth, DB policies, and caching in place.

What we learned

  • Taste Graphs: QLOO opened our eyes to the power of cultural data and recommendation systems.
  • Prompt Engineering: Tiny tweaks to Gemini prompts can drastically change tone and structure.
  • Caching & Performance: Saving API output reduces latency, cost, and rate limit issues.
  • Supabase RLS: Powerful for data privacy, but requires precise rule design and testing.
  • AI Output Handling: Always expect malformed or inconsistent responses. Validate everything.
  • TypeScript Ergonomics: Type-safe API routes with clear contract definitions speed up dev and debugging.
  • shadcn/ui: A fast, accessible way to build elegant UIs with great developer ergonomics.

What's next for KindredAI

  • Add AI-powered group matching and vibe-based friend circles.
  • Expand compatibility explanations with visuals, emojis, and cultural overlap graphs.
  • Allow users to optionally share photos or voice notes for deeper context.
  • Introduce conversation prompts and icebreakers based on shared interests.
  • Launch on mobile (React Native or Expo) for better reach.
  • Deeper taste analysis powered by more entities from QLOO.

Built With

Share this project:

Updates