Inspiration
Small local businesses like cafés, studios and boutiques want to work with local creators, but they don't know who to pick, what's a fair price or how to split a small budget. A café owner with $300 doesn't know if that should go to one creator or three. Meanwhile, micro-creators with real local audiences rarely get deals, because brands look at follower count first.
Existing tools are either built for big brands with big budgets, or they're directories where you still pick creators yourself. We wanted something that tells a non-marketer which team of creators to hire with the money they have, and why.
What it does
A business types one sentence, like "$300 to promote my new matcha drink to college students in Seattle." CollabMatch then:
- Turns it into an editable campaign brief using Gemini
- Scores every local creator on fit and shows the reasons behind each score
- Picks the best team of creators that fits the budget
- Drafts invite messages so the business can invite the whole team in one tap
Creators get a profile and can accept, pass or ask for more money. If they counter, the business can pay the new fee or keep the original, and the budget check runs again. Both sides track the collab until the content is posted.
Businesses can also add creators they already follow on Instagram, who get a personal invite link to join.
How we built it
- Frontend: Next.js, React, TypeScript, Tailwind
- Backend: Next.js API routes, deployed on Vercel at collabmatch.biz
- Database: MongoDB Atlas, with an indexed pre-filter that narrows creators before scoring
- AI: Gemini for campaign briefs and invite messages, always returning JSON against a schema
The matching score. Every creator gets a 0 to 100 score from seven weighted factors: audience, content niche, location, budget fit, content style, engagement and platform. Follower count is intentionally not a factor, so small creators can win on fit. Gemini never produces the score. Each factor comes with an evidence line, so every number is explainable.
The team optimizer. It checks every affordable team of 1 to 4 creators and picks the one with the most useful fit, while penalizing teams whose audiences overlap. It's a small knapsack problem with a diversity penalty, and since the pool is capped at 12 creators, we solve it exactly.
Challenges we ran into
- Tuning the optimizer. Our first version summed raw scores and kept picking four cheap, weak creators. Only counting fit above a score of 55 and lowering the overlap penalty from 45 to 20 fixed it.
- Getting Gemini to behave in production. The model name we planned for had been retired, the newer model needed more time than our 8-second timeout, and it was sometimes overloaded. We switched models, raised the timeout and leaned on our fallbacks. We also found Gemini was too conservative with tags (it only tagged "cafés & coffee" for our café demo), so we merge its tags with our keyword rules.
- A database index MongoDB rejected. Our first compound index covered two array fields, which MongoDB doesn't allow. It only failed once we connected a real cluster, so we split it into two indexes.
- Keeping AI honest. Gemini never produces scores, and every invite message is checked so it can't promise a fee or deliverable the business didn't approve.
- Instagram login. We built the login flow, but setting up a Meta developer app and tester accounts takes longer than a weekend allows. For the demo, "Continue with Instagram" loads a sample connected creator profile.
Accomplishments that we're proud of
- The team optimizer. It recommends a full team instead of a list of search results, which is what makes CollabMatch different from existing tools.
- Every score is explainable. Open "Why this score?" and you can see where each point came from.
- Small creators can win. A 3K-follower creator who posts about cafés beats a 40K one who doesn't.
- The full loop works live: one sentence, brief, matches, team, invites, creator accepts, and it's all saved in Atlas.
- It never breaks. If Gemini is slow or down, a keyword parser and message template take over.
What we learned
- An explainable formula builds more trust than a black-box AI score, especially for people who aren't marketers.
- Real services behave differently than mock data. Our database index and our Gemini model both worked fine in testing and failed only once we connected the real thing, so we'd connect real services earlier next time.
- Platform APIs like Instagram have hidden setup time, so scope them early.
- Agreeing on a shared API contract and building on mock data let us work in parallel without blocking each other.
What's next for CollabMatch
- Real Instagram sign-in. Finish the Meta app setup so creators can actually sign in with Instagram and get matched on their real posts.
- Test pricing with real customers. Talk to local café owners and student creators to test our pricing and the "1 video + 2 stories" package.
- Payments with escrow. Hold the business's payment and release it to creators when the content is posted.
- TikTok support. Let creators connect TikTok too.
- Launch locally. Start with Seattle cafés around the U District and Capitol Hill, then expand neighborhood by neighborhood.
Built With
- css
- gemini
- google-gemini-api
- html
- instagram-api
- javascript
- json-schema
- meta-graph-api
- mongodb
- mongodb-atlas
- next.js
- node.js
- react
- rest-api
- tailwindcss
- typescript
- vercel

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