Back to projects

GreetUp

An activity-first real-time social app — WebRTC, SFU media, and interest-based matching for meetings that actually mean something.

WebRTC

Next.js

TypeScript

React

Node.js

A while ago, I was learning and playing around with real-time communication tech (WebRTC & SFU), and I was wondering what more I could build with this tech.

The most common idea is to make a website similar to Omegle. But Omegle always felt spammy (you know what I'm talking about). After I researched why Omegle got banned, I found out it was mainly because of safety issues, abuse, and moderation problems.

That made me think: can meeting strangers online actually be meaningful?

Social networks stopped being social

We have apps for following people, watching reels, and scrolling forever.

But actually meeting someone new and having a real conversation has somehow become really difficult — which is kind of the whole point of a social network. Social media was supposed to help us socialize, and instead it got reduced to connections, follows, and feeds.

Random chat apps already exist. But most are full of spam, people looking for just one thing (we know that), and conversations that die within a minute.

I wanted something that felt more real — getting connected with people, but with a good audience around.

What if you were matched with someone who's looking for the same thing as you, at the same time? That's the idea behind GreetUp.

I also have an interest in meeting different kinds of people and getting to know about their experiences, so GreetUp is built around that: connect with a good audience, NSFW protection, choose whom you want to meet, and do engaging activities together — playing Chess, playing UNO, talking about your job, discussing a startup idea, or asking for advice.

I think it's a good idea because a person like me would definitely use this app.

Solving the icebreaker problem

Then there's always the icebreaker problem, where people don't know how to get comfortable with each other. We solve this with AI conversation cues about the other person, and we only show the information they've chosen to share, with their consent.

When you connect, we show small conversation cues as a toast — shared interests, profession, hobbies, or what they're looking for right now. Suppose you're interested in playing Chess or talking about philosophy — we show that, and you immediately have something to talk about. That way, there's no awkward silence while breaking the ice.

Activity-first, not gender-first

Also, you know how in most live-streaming apps people mostly come to meet the opposite gender. We can't really change human intentions, to be honest.

So instead of fighting that behavior, why not redirect it?

That's why the app is activity-first. We encourage people to do something together — playing Chess, playing UNO, participating in polls, or giving opinions on different topics (handled at the application level; some of these are coming soon). These activities make conversations engaging and valuable, so people connect because they're doing something together, not just because they're looking for the opposite gender.

The cold-start reality

One honest caveat: the app is early, so right now there may be no one online. Everything works on a real-time basis, and if nobody is online you'll simply find no one — that's the cold-start problem.

If there's no one online, there's no one to connect with. But the matching engine is designed so that the more people there are, the better its filtering becomes — a larger pool means it can find the best possible match based on your interests, activities, and preferences.

If anyone is interested in building this app together, let me know. I'm open to connect. And if you find any bugs, errors, or technical issues, please reach out — it'll be a huge favor.

Architecture

I'll talk about the architecture soon — Matching Service, RTC / SFU, signaling, the whole stack. It's pretty interesting.