The opportunity

Social apps match people on the wrong signal. Algorithms push whoever maximises engagement, bios are performances written to be seen, and onboarding flows fall back to popularity — "here are the 20 biggest accounts, pick some." The result is more connections and less belonging.

Meanwhile, Gen Z users now have an AI assistant that has quietly built a richer, more honest picture of who they are than any profile they'd write themselves — their real interests, how they actually talk, what they're into right now. That understanding is sitting unused.

Tribe turns it into the matching signal.

What we built

Tribe is a community-activation feature for Zymix. A new user brings what their AI already knows about them — pasted in from ChatGPT, Claude, or written in plain text — and Tribe:

  1. Structures it into a clear persona: weighted interests, values, communication style, current focus, with a confidence score per field so we know what we had to guess at.
  2. Hands control back. The full extracted profile is shown as editable chips. The user can reweight or delete anything before a single match is made. Nothing is matched without explicit consent.
  3. Suggests communities and people, each with a specific "why you'd fit" — generated from the community's own message log, so the reason references real context, not generic platitudes.
  4. Runs a short adaptive interview for the top community — two or three tailored questions whose answers sharpen the match in real time. The user sees the system reasoning about fit, not just emitting a number.
  5. Forms new communities on the fly. When Tribe detects a cluster of people who share an interest with no existing space, it offers to start one — one tap founds the community, and an expansion round immediately surfaces more people who'd fit.

Why it matters for Zymix users

This is what onboarding should be. Instead of dropping a new user into an algorithmic feed and hoping, Tribe routes them toward the people and spaces they'd genuinely belong in from the first session — when belonging is most fragile and most decisive for retention. The "why you'd fit" rationale gives every match a reason to start a conversation, removing the cold-open friction that kills new connections.

It maps directly onto Challenge 4's listed directions: AI-driven onboarding, interest-and-behaviour-based intelligent matching, tools for building a small community from scratch, and mechanisms designed to bring out quieter members.

How AI is used

AI is the product, not decoration:

  • Profile extraction — turns an unstructured personal dump into a clean, structured persona with weighted dimensions and per-field confidence.
  • Adaptive questioning — follow-up questions are generated from the user's specific profile to fill its weakest gaps, never from a fixed list.
  • Explainable compatibility — the model scores fit between two personas and writes the human, specific reason they'd click ("you'd both rather argue about X for an hour than do small talk"). This explainability is the differentiator.
  • Community context — each community's recent message log is summarised once at build time, so the "why you'd fit" rationale is grounded in what the space actually talks about.

How we built it

The architecture is deliberately minimal: a React + Vite + TypeScript front end with a thin Express server whose only job is to hide the LLM API key. No vector database, no embeddings — for a 15–25 community pool, batch-judging the whole pool with explainable LLM scoring is simpler, faster, and gives us the rationale for free.

We split the build across a three-person team using a strictly locked shared contract — one TypeScript file defining the UserProfile and CommunityProfile shapes, plus a single askClaude helper. Each module imported from shared/ and never re-implemented it. The seam never drifted, which is what let us build in parallel against a hardcoded sample profile from hour one.

The richness in the community side — message logs, summaries, formation moments — is made demoable by precomputing into committed fixtures. Summaries are generated once at build time and committed as JSON, so demo-time runtime is a handful of cheap calls instead of a fragile live pipeline.

Trust by design

AI memory can hold genuinely personal material — health, relationships, low moments. Tribe shows the user the extracted profile and lets them edit or remove anything before a single match is made. Consent isn't a setting buried in a menu; it's a visible step in the flow. We think this is the only honest way to build matching on top of AI memory.

Challenges we ran into

The hardest part wasn't the matching — it was scope discipline. The brief said "build a community network that constantly expands and learns" and our instinct was to build a live engine. For a 24-hour demo on conference wifi, that's the trap. We rebuilt the design around demoable moments — formation fires on a tap, expansion is one round, the network "grows" through deterministic precomputed rounds — and said the ongoing-growth story verbally over a working example.

The other hard call was killing embeddings. We'd designed in vector search and cosine shortlists early, then realised at hour eight that a pool of twenty-five doesn't need it. Cutting it back to batched LLM-as-judge over the full pool saved hours and gave us better explanations as a side effect.

A merge collision in the final stretch took out part of the codebase — we recovered cleanly by treating one branch as canonical and re-integrating the other module surgically rather than re-merging.

What we learned

How much of a hackathon project's success is contract design, not feature count. We spent the first hour locking a tiny shared TypeScript contract — and that's the single decision that let three people build in parallel and integrate without drama.

That AI memory is a more honest signal for matching than anything a user would type into a bio — and that the consent step is what makes it ethical to use it.

That "explainable" beats "accurate" for connection products. A 73% match with a one-line reason that sounds like a friend talking lands harder than a 91% match with no story.

What's next

The growth and learning layer — feedback loops that re-weight a user's profile from accept/skip signals, a network view that visualises connections expanding across rounds, and a community-liveness mechanism that surfaces sparks to bring out quieter members. The plumbing is in place; the seam is waiting.

Built With

Share this project:

Updates