Inspiration
Seniors and young people each have something the other needs. Seniors bring experience, time, and a wish to stay active and connected. Young people bring energy, tech skills, and a hunger for mentors. Yet there's no easy, safe way for them to find each other. [Add your team's real story here: a grandparent, a volunteer experience, a statistic with its source.]
We built Kindred to change that: a platform that connects seniors and youth through shared skills and movement.
What it does
- Profiles: each person lists interests, skills they offer and want, availability, activity level, and accessibility needs.
- Ranked matches: people see matches from the other generation, each scored out of 100 with a breakdown of why they matched.
- Mutual connections: a connection forms only when both people tap Connect. Passing stays private.
- Live chat: connected pairs can message instantly.
- Activity ideas: Bridge suggests physical activities that suit both people, including seated and wheelchair-friendly options.
How the matching works
Matching is rule-based on purpose, so it is transparent and every score can be explained:
$$\text{score} = 30S + 25I + 20W + 15A + 10L$$
where each term is between 0 and 1:
- $S$ = complementary skills (what I offer vs. what you want, and the reverse, averaged)
- $I$ = shared interests
- $W$ = activity-level compatibility
- $A$ = availability overlap
- $L$ = same city
Overlap between two lists is $\frac{|A \cap B|}{\max(|A|, |B|)}$.
For activities, we use the gentler of the two people's preferences as the ceiling, so nobody is pushed beyond what either person is comfortable with.
How we built it
- Backend: Node.js and Express 5, organized into routes, controllers, services, and models.
- Database: MongoDB with Mongoose schemas, validation, and unique indexes.
- Real-time chat: Socket.IO rooms, where messages are saved before they are broadcast.
- Security: bcrypt password hashing, JWT authentication on every route and AI was used for templating and debugging.
Built With
- javascript
- mongodb
- swiftui