Sameboat
Mobile App2023

SAMEBOAT

Exclusive 200-member influencer communities — live auctions, Dyte WebRTC, Branch deep-links, 80+ API endpoints.

200
Members per community cap
80+
REST & socket endpoints
1
Live auction engine
SCROLL
Client
TDS (Federal Soft Systems)
Domain
Mobile / Creator economy
Platform
Flutter + Express
Duration
May 2021 – Jul 2022
Core Stack
Flutter · MongoDB · Socket.IO · Dyte
The Brief

THE
PROBLEM

Built a real-time creator-economy platform where influencers host exclusive 200-member communities with direct fan mentorship. The Flutter app uses GetX against a Node.js/Express API and MongoDB/Mongoose. Live bidding, group chat, and anonymous audio run through Socket.IO with dedicated event rooms; video for auctions and gossip uses the Dyte WebRTC SDK with REST-driven room lifecycle.

Flutter (GetX) → Express/MongoDB (80+ endpoints) → Socket.IO (bid rooms, chat, gossip) → Dyte SDK (WebRTC) → Branch.io → AWS S3 (media + Sharp thumbnails) → Firebase (FCM, Auth, Crashlytics, Analytics) → Bull/Redis → Mailjet + Nodemailer → Clarity + Smartlook.

Core Engineering Challenge

Concurrent live-bid synchronization across hundreds of participants; 80+ Express endpoints requiring careful organization; anonymous audio session state across multiple Dyte rooms; coordinating FCM with auction lifecycle; and Branch.io deep-links from social into the right Flutter screens.

80+
API
Extended stack
mobile
Flutter
backend
Node.js
database
MongoDB
backend
Dyte
sameboat
sameboat
How we built it

THE ARCHITECTURE

01
Communities & caps

Community creation with member caps, invites, and role-aware access for hosts and fans.

FlutterGetXExpress
02
Live auction engine

Socket.IO bid rooms with real-time price updates and isolated state per auction.

Socket.IOMongoDB
03
Dyte audio & video

Managed WebRTC for auction sessions and anonymous gossip with Dyte REST for rooms and recording.

DyteWebRTC
04
Branch.io acquisition

Deep-links from Instagram, Twitter, and other channels into posts, profiles, live bids, and communities.

Branch.ioFlutter
05
Media & notifications

S3 uploads with Sharp thumbnails; FCM per-device tokens; Bull/Redis for email campaigns and scheduled events.

AWS S3FirebaseBull
System Data Flow
Ingestion
CrawlerContent Hash10K+ pages
Processing
ChunkerDeduplicatorEmbedding API
Storage
pgvectorPostgreSQLRedis Cache
Auth
Identity ProviderJWT BridgeSessions
Query
HNSW SearchRe-rankerLLM Stream
Delivery
Web AppMobile AppUsers
What we delivered

THE RESULTS

80+

Express endpoints across communities, auctions, payments, profiles, analytics (Clarity, Smartlook), and admin — enough surface area to ship creator economy features without fragmenting into microservices prematurely.

80+
API

Express endpoints across communities, auctions, payments, profiles, analytics (Clarity, Smartlook), and admin — enough surface area to ship creator economy features without fragmenting into microservices prematurely.

Visual documentation

SCREENS &
INTERFACES

sameboat2
sameboat2
sameboat3
sameboat3
sameboat4
sameboat4
sameboat5
sameboat5
Engineering decisions

TECH
DEEP DIVE

DYTE
Dyte over raw WebRTC

Managed video with recording and participant APIs versus hand-rolling TURN/STUN and server orchestration.

Socket.IO event rooms isolated bidding state so price fan-out stayed predictable at scale.

BRN
Branch.io deep-linking

Cross-platform routing into specific Flutter screens for social acquisition campaigns.

GetX accelerated Flutter delivery versus heavier state stacks for a deadline-driven product.

BULL
Bull/Redis job queue

Guaranteed delivery and retries for email and lifecycle jobs instead of fire-and-forget HTTP.

PM2 plus disciplined route splitting kept the large Express codebase operable in production.

Next Case Study
Web Platform
Nonillion

Spatial Meeting Platform

Next.jsNode.jsLiveKit
Start a project

LET'S
BUILD
SOMETHING.

We take on a small number of projects at a time. If the problem is hard, we're interested.

Email
hello@techmusketeers.com
Response time
Within 24 hours
Availability
Open for new projects · 2025