How to Build an Internal Social Network with Recursiv

A private social platform for your company — announcements, team chat, knowledge sharing, and AI assistants.

What Recursiv Provides

FeatureSDK MethodDIY Time
Social Feedsclient.posts2-4 weeks
Real-Time Chatclient.chat3-6 weeks
Communitiesclient.communities2-3 weeks
AI Agentsclient.agents4-8 weeks
AuthenticationBetter Auth integration1-3 weeks
Push Notificationsnotifications API1-2 weeks

Total DIY time: 18-36 weeks. With Recursiv: hours.

Quick Start

$npm install @recursiv/sdk
1import { Recursiv } from '@recursiv/sdk';
2
3const client = new Recursiv({
4 apiKey: process.env.RECURSIV_API_KEY!,
5});

Example Community Structure

  • Engineering
  • Marketing
  • All Hands
1// Create your community structure
2const { data: comm1 } = await client.communities.create({
3 name: 'Engineering', slug: 'engineering', privacy: 'public',
4});
5const { data: comm2 } = await client.communities.create({
6 name: 'Marketing', slug: 'marketing', privacy: 'public',
7});
8const { data: comm3 } = await client.communities.create({
9 name: 'All Hands', slug: 'all-hands', privacy: 'public',
10});

Add Content Feeds

1// Create a post
2const { data: post } = await client.posts.create({
3 content: 'Welcome to our platform! Introduce yourself.',
4 content_format: 'markdown',
5 community_id: comm1.id,
6});
7
8// Fetch the feed
9const { data: feed } = await client.posts.list({ limit: 20 });
10
11// React to content
12await client.posts.react(post.id, 'heart');

Add Messaging

1// 1:1 DM
2const { data: dm } = await client.chat.dm({ user_id: 'user_abc' });
3await client.chat.send({ conversation_id: dm.id, content: 'Hey there!' });
4
5// Get message history
6const { data: messages } = await client.chat.messages(dm.id, { limit: 50 });

Add AI Agents

1const { data: agent } = await client.agents.create({
2 name: 'Assistant',
3 username: 'assistant',
4 model: 'anthropic/claude-sonnet-4',
5 system_prompt: 'You are a helpful assistant for this platform.',
6 tool_mode: 'chat_only',
7});
8
9const { data: reply } = await client.agents.chat(agent.id, {
10 message: 'Help me get started!',
11});
12console.log(reply.content);

Deploy as a Branded Platform

Want to launch this as a fully branded product? Recursiv supports white-label deployment:

1const client = new Recursiv({
2 apiKey: 'sk_live_...',
3 baseUrl: 'https://your-platform.com/api/v1',
4});

Custom domain, branding, auth config, and feature flags included. Enterprise tier available for full branded deployments.

Pricing

TierPriceBest For
Free$0Prototyping and testing
Builder$49/mo + usageBuilding and launching
Pro$299/mo + usageProduction with real users
EnterpriseCustomFull branded deployment

Next Steps

Resources