Inspiration

Wanting to avoid the toil of creating yet another online profile...

What it does

koveri helps people craft playful, data-backed profiles and explore a discovery feed of like-minded matches, with the help an AI coach. Users plug in public handles (Spotify, GitHub, Twitter/X, Letterboxd, etc.), we extract highlights from their digital footprint, and the app generates a concise bio, prompt answers, fun facts, and data insights. A conversational coach guides tweaks in real time, while the swipe-like discovery feed lets you browse, match, and refine your presence with engaging UI and smooth animations.

How we built it

We used React + TypeScript with Vite for a fast frontend, Tailwind and shadcn/Radix for accessible, consistent UI components, and Framer Motion/Embla for fluid interactions. Supabase Edge Functions power two AI flows: profile generation/tweaks through a gateway and a streaming chat coach. For data gathering, we proxy Yellowcake’s extraction API to stream structured results from public sources, then transform them into profile-ready content. Local storage keeps mock profiles and interactions lightweight during development.

Challenges we ran into

One of our main challenges was defining the personality and boundaries of the AI coach. We wanted Gemini to feel playful and encouraging while still being useful for connection-making without sounding generic or overly performative. This required multiple rounds of prompt iteration to balance tone, safety, and specificity We also explored the limitations of Yellowcake’s data extraction API. Public data varies widely in quality and structure, so we had to test which sources produced meaningful signals and design transformations that turned partial data into concise, profile-ready insights. Integrating both the profile generation and streaming conversational coach AI workflows into a seamless experience required careful coordination across APIs and Edge Functions.

Accomplishments that we're proud of

A truly dynamic AI coach that doesn't just chat, but also edits your profile in real-time. When you say "make me sound more outdoorsy," it rewrites your prompts, swaps fun facts, and adjusts data insights on the fly, preserving your core voice while pivoting your appeal.

Ultra-high-context personalization, we pass the full Yellowcake dataset + chat history + user preferences into every Gemini call, creating super specific suggestions ("Try highlighting your Letterboxd 4.3 average on slow cinema—matches your target audience's vibe").

Advanced scraping pipeline that transforms messy public data into clean, structured profile signals. We built robust fallbacks for rate limits, partial data, and platform changes.

What we learned

UI/UX is hard. Nailing the "just right" feel for this app took endless iteration.

LLM outputs are gloriously non-deterministic. We learned to embrace this by building validation layers (profile scoring, content moderation) and fallback chains that gracefully handle creative tangents.

Public data can be messy, but Yellocake's API's made it easy to scrape these websites with deeply nested content.

Real-time profile editing via chat is magical; users loved the "talk to the coach to change my profile" feature.

What's next for koveri

more profiles! more data! and customizable coach personalities

Built With

Share this project:

Updates