Inspiration

Helping people with different abilities and cultures — the idea that everyone has something they're skilled at and something they need help with, and that those two things rarely find each other on their own.

What it does

Constellink matches people who need help with people who can give it. You post a "signal" — a request tagged with a category, skill tags, and urgency — and anyone whose skills fit can answer it, opening a real-time chat with you. Every time you help someone, a star forms in your personal constellation; fill enough stars and you complete a constellation shape and earn a badge. Points and reviews move you up a ladder of planet-themed ranks (Mercury through Neptune), there's a weekly leaderboard with "Top of the Week" badges, and resolved requests can be published to a public "cosmos" feed so the answer helps more than just the original asker.

How we built it

Frontend: React + TypeScript, built with Vite Backend: Node.js + Express REST API Database: SQLite for users, signals, conversations, constellations, and points ledgers Real-time chat: threaded conversations reused per user pair

Challenges we ran into

Designing a points/ranking system that stayed consistent even with retried or duplicate API calls — we ended up building an idempotent ledger (each point event tied to a unique reason + signal ID) instead of just incrementing a counter, so nothing could get double-awarded. Getting the constellation logic right was also trickier than expected: stars earned while a user has no active constellation shouldn't be lost, so completed connections queue up and backfill automatically once a new constellation is chosen.

Accomplishments that we're proud of

Shipping a full loop — post a request, get matched, chat, resolve, earn a star, complete a constellation, climb the leaderboard — as a working, coherent product in 24 hours, not just a UI mockup. The points ledger and weekly badge system in particular hold up to real edge cases (retries, mid-week joins, backfilled history) rather than being hackathon-fragile.

What we learned

How much design work "gamification" actually requires to feel meaningful instead of gimmicky — tying every star and rank directly to a real act of helping someone, rather than arbitrary XP, was the difference between a game layer that felt hollow and one that felt earned.

What's next for Constellink

We'd like to add live presence indicators (who's currently active), support for signals that need more than one helper, and scheduled video/voice calls for requests that outgrow text chat.

Video Link

https://drive.google.com/drive/folders/10htzoBO-VELMAKDEJA5PwP_yzuzAfeB7?usp=sharing

Share this project:

Updates