DEV Community

Cover image for I've created a framework for building social products and now I've made it open-source
Tsabary
Tsabary

Posted on • Edited on • Originally published at blog.replyke.com

I've created a framework for building social products and now I've made it open-source

TLDR: Replyke v5 is officially open-source! Replyke's open-source API and React/React Native libraries help you build powerful social features in your apps in a fraction of the time.
Check Replyke out on GitHub - and if you like it - give it star!


From Side Project to Framework

Three years ago, I was looking for a new side project. Like most good ones, it started by identifying a problem. My usual pattern was to "find" problems in industries I didn’t really know much about, but somehow believed I could spot something others had missed. That led to things like a product for mechanics, or one before that for restauranteurs.

This time, I decided to do things differently. I would only explore problems I truly understood. At that point in my life, those were: traveling, poker, and software development.

I chose the last one.

I tried to spot a repetitive task - something I kept wasting time on. Looking back at my previous projects, one thing stood out: I kept re-building a comment section. So I made that the problem to solve.

Over a couple of weeks, I built what I thought was a great comment section (it was alright at best). It looked like your typical blog comment area but could be customized via props. It was simple, and it was my first ever published npm package. I was proud of it, and for a while, it got some nice feedback. But that was about it. Eventually, it faded into dormancy.


The Rebuild

Last year, after a little break from side projects, I started a new one - and it needed a comment section.

So I decided to bring my forgotten hero back from the dead and put it to use.

But with fresh eyes, I could see it clearly now: my old warrior wasn't so great.

The design was outdated.
The functionality was limited.
It wasn't secure.

I needed a comment section for this new project - but my v3 just wasn’t good enough. (And if you’re wondering how I ended up at v3, let’s just say I was pretty bad at knowing what counts as a major update back then.)

So I had to rebuild.

This new comment section had to:

  1. Look good and modern. I was aiming for an IG/TikTok-style design - clean and sleek.
  2. Include the features you'd expect in a serious app: mentions, GIFs, likes, replies, highlighted comments, and more.
  3. Be secure. In the older versions, developers passed a plain object with the current user into the component. Naive and unprofessional younger me didn’t realize how wildly insecure that was. This time, I had to get it right.

More Than Just Comments

So I started building. And building. And building.

Every feature I wanted to add forced me to go beyond what I initially planned.

If I wanted mentions, I needed users. And profiles. And usernames.
If I wanted it to be secure, I needed every action to go through an authenticated backend.

And what happens when someone gets mentioned? Or receives a like? Or a reply?
There needed to be notifications. That’s the standard in any modern app, so that’s what I built.

It started to grow.

Comments became users.
Users became notifications.
Then came authentication.

When I finally implemented it in my app, I realized every comment section needs to be tied to something - a post, a product, a page. That’s when "entities" entered the picture.

Then I needed a feed. And not just a static one. It had to support filtering, sorting, and time-based queries. That turned out to be another recurring problem across projects - so I solved that too.

From there, I figured I might as well let users follow others, and create collections of their favorite items.

One by one, it all came together.

And when I looked at what I had built, I realized something: this wasn’t just a comment section anymore.

I had built a full framework for building social products from scratch - one that could power just about any project that needed in-app social features.


What’s in Replyke v4 (and v5)?

I released it as Replyke v4 a few months ago, and it’s been growing steadily since. Solo developers and teams are already using it to power their products.

Replyke's key features include:

  • Comment system - threaded replies, mentions, votes, customizable UI elements, built-in moderation
  • Feeds - filter entities by tags, content, custom metadata, follow relationships, timeframe or geography, and sort by hot, top, or controversial
  • In-app notifications - auto-generated in-app notifications for predefined events such as votes, mentions, follows, and more. Configurable webhooks for further action, such as sending push notifications
  • Curated lists - user-generated collections and nested sub-collections of entities
  • Follow graph - one-way follow relationships ready for social graphs
  • Authentication - easy user authentication with Replyke, or integration with an external user system
  • Admin tools - reporting, content moderation, and user management

All features come with backend APIs, typed SDKs, and ready-to-use React and React Native components.


Building Replyke: A Layered, API-Centric Approach

Replyke wasn’t built in a traditional API-first way, but it is definitely API-centric. From the beginning, I designed it so that everything is powered by a clean, consistent API. This approach has shaped the way developers use Replyke today, and it’s what makes the system flexible and extensible.

You can think of Replyke as having three core layers:

1. The API (Foundation)

The base layer of Replyke is its API. Everything the system can do, you can do through the API-whether it’s posting a comment, reporting content, creating a new entity, or updating a user profile. As long as you’re authenticated, all functionality is accessible. The API is fully documented in Replyke’s docs and can be used directly if you prefer working closer to the metal.

2. Libraries & SDKs (Developer Tools)

On top of the API, Replyke provides official libraries to simplify development. Currently, there are React and React Native libraries (supporting both CLI and Expo), with Node.js and vanilla JS SDKs coming soon for both server and client environments.

These libraries handle communication with the API and offer helpful abstractions for things like authentication, request state, pagination, and cache. For example, hooks like useEntityList make it easy to fetch entities with filters, sorting, and pagination-without writing any boilerplate yourself.

3. Components (Plug & Play UI)

At the highest level, Replyke also offers prebuilt components that are fully wired up and ready to drop into your app. Components like SocialCommentSection use the underlying libraries and hooks to provide a complete UI and logic layer for features like commenting, voting, replying, and more. These are ideal for developers who want to move fast and not reinvent the wheel.

Combined, these three layers give developers everything they need to integrate Replyke fully: from low-level API access to high-level components ready to ship.


Moderation with the Dashboard

One more critical part of the system is the Replyke Dashboard. While the three core layers handle the client experience, the dashboard is for product owners and moderators.

Through it, you can:

  • Monitor all content created across your app
  • Handle reports from users
  • Remove inappropriate content
  • Suspend or ban users

This separation ensures developers get the flexibility they want, while still giving teams the control and oversight they need to keep communities healthy and productive.


Switching to an Open Source Model

The decision to move into an open-source model wasn't an easy one. As a solo developer who’s been building the new Replyke for over a year, going open-source felt (and still feels) risky. I kept asking myself: how would I build a sustainable business around it? There are successful examples out there, but I wasn’t sure what the right path would be for me.

After a lot of thinking over the past few weeks, I feel confident that this is the right move.

Building products is getting easier and faster than ever. What will truly differentiate great products going forward is the communities around them. By open-sourcing Replyke, I hope to encourage contributions to enhance Replyke's capabilities even further, and make it the go-to framework for building social products - fast, secure, and well-structured.


Moving Forward

If you're currently building a new product, or looking to integrate social features into your existing ones - check Replyke out. It can save you weeks, if not months, of tedious work.

And if you love it but just don't need it right now - star it on GitHub and keep it for later!

https://github.com/replyke/monorepo

Contributions & Staying Updated

If you'd like to contribute, or simply stay updated, join my community over at Discord.

Lastly, if you want to connect, I always welcome new conversations:

Top comments (1)

Collapse
 
hammglad profile image
Hamm Gladius

Really interesting work here—sounds like Replyke has a lot going for it as a social framework. I’ll have to keep an eye on how it evolves now that it’s open source!