Build a TikTok-Style Feed
in React Native
A high-performance vertical video feed for React Native & Expo.
Built on React Native Video v7 and LegendList. Smart preloading, HLS playback, platform-tuned UX.

Production-Ready Patterns. Not a Prototype.
We've solved the hard parts of HLS playback and list virtualization so you can focus on your product.
HLS & Video v7
Smart Virtualization
Built-in Dev Metrics
Measure What Matters
Every millisecond counts in a video feed. The built-in performance monitor tracks the metrics that matter — so you can benchmark, optimize, and ship with confidence.
Performance Dashboard
| Metric | Value | Status |
|---|---|---|
| TTFF | ~19ms | ● Excellent |
| Perceived TTFF | ~0-5ms | ● Excellent |
| FPS Stability | ~55 fps | ● Good |
| Memory Usage | Optimized | ● Excellent |
| Scroll Lag | <5ms | ● Excellent |
| Preload Effectiveness | ~5ms | ● Excellent |
One Swipe. One Video. Native Feel.
Tuned snapToInterval and platform-specific deceleration rates. Tap to pause. Overlay controls. The scroll behavior developers expect but rarely get right.
snapToIntervalOne-video-per-swipe paging with tuned momentum
decelerationRate0.98 Android / 0.95 iOS for native feel
disableIntervalMomentumPrevents over-scrolling, consistent behavior
Feed Extensions
The boilerplate is designed for you to break and extend. Here's what's possible — and what TWG can build for you.
Ads & Monetization
COMMERCIALTracking & Analytics
COMMERCIALCaching & Offline
COMMERCIALMixed Content
Photos, GIFs, forms, CTAs in the feed
UI Customization
Seek preview, custom seekbar, category tabs
Reverse Proxy / CDN
Manifest proxy, geo-routing, A/B testing
When You Need More Than a Library
react-native-video covers 90% of use cases. For the remaining 10% — where you need full native control, custom player architectures, or platform-specific optimizations — we build it for you.
Player Pool & Memory Management
When your feed runs 50+ videos and Android's ExoPlayer limit hits. Custom player pooling, lazy creation at visibility thresholds, and aggressive memory reclamation — tuned to your specific device matrix.
Player Pooling
Reuse ExoPlayer/AVPlayer instances instead of creating new ones. Rotate a fixed pool (e.g. 3-5 players) across your feed.
Lazy Player Creation
Create expensive native player components only when items reach visibility threshold (e.g. 75% on screen). Teams running feeds with 50+ videos reduced jank from 24% to 3% with this approach.
Memory Pressure Handling
Automatic player destruction when memory warnings fire. Platform-specific limits (Android is much more constrained than iOS).
Autoplay & Preload Orchestration
When preload() isn't enough and you need sub-100ms autoplay times. Backend-coordinated loading priorities, MP4 thumbnail pre-warming, and split-phase resource loading.
Prioritized Loading
Split network requests — load visible content first, then background-load everything else. GraphQL query splitting for video metadata.
MP4 Thumbnail Strategy
Backend generates lightweight MP4 thumbnails for instant visual feedback while HLS manifest loads. This approach has cut autoplay time by 50% in production feeds.
Player Pre-warming
Create and configure native players before they're needed. Pre-load codec, configure surface — so when the view appears, playback is instant.
Custom Fabric Video Components
When you need a video component built specifically for your domain — your analytics, your state model, your native platform quirks. No abstractions you don't need.
Domain-Specific Metrics
Custom autoplay time tracking, jank rate measurement, viewability thresholds tied to your business KPIs — not generic player events.
Backend-Client State Sync
When your SDUI backend needs tight integration with player state. Video lifecycle managed by your rendering engine, not a third-party abstraction.
Stripped-Down Native Wrapper
No DRM, no background playback, no features you don't use. A Fabric component that does exactly what you need and nothing else — minimal surface area, maximum performance.
"At scale, some problems require native-level solutions. When your feed runs dozens of concurrent videos, you need engineers who understand both the library and the platform to build custom player architectures, memory management, and autoplay orchestration tailored to your specific constraints."
Developers Are Building With It
"We're open-sourcing a react-native-video-feed Boilerplate for React Native and Expo. It's not a 'plug-and-play' miracle, but it's a high-performance foundation built on React Native Video v7 and @legendapp/list that handles the heavy lifting for you."
"Man, this is awesome. I guess I'll have to try using this in the next version of this reels app I'm building"
"this is dope, can't wait to check it out!"
"nice work!"
Technical Stack
Get Started in Minutes
Platform-Tuned Configuration
Every parameter is tuned per-platform. Android gets tighter preload windows and higher scroll throttle to protect the JS bridge. iOS gets wider preload windows and smoother scroll events.
Frequently Asked
Need a Custom
Video Feed?
From ads and analytics to offline playback and mixed content — we build production-grade video feed features. Straight to the point. No audits. We build.
