Inspiration
Gaming’s best moments happen everywhere: tournament broadcasts, chaotic GTA sessions, FIFA reactions and streamers making their friends laugh. Finding those moments usually means jumping between platforms.
We wanted to bring that energy into one FaZe-themed community where fans can discover clips, share their own and decide what deserves the hype.
What it does
FaZe Clips brings competitive gaming, funny moments and streamer culture into one place.
- Discover clips from Kick, Twitch and YouTube.
- Explore different creators, games and IRL content.
- Upload clips and manage them through My Clips.
- Like videos using our platform’s own heart system.
- Browse For You, Hot, All Time and New feeds across discovered clips and community uploads.
- Get recommendations influenced by likes and supported playback activity.
- Use a Creator Control Room built to connect social accounts, cross-post owned uploads and bring external engagement back into the platform.
How we built it
We built a custom React and TypeScript application using Vinext, Vite, custom CSS and Lucide icons. The interface uses FaZe’s red, black and white identity, with a video-led homepage and clip-focused browsing.
Cloudflare Workers powers the backend, D1 stores community data, and R2 stores uploaded videos. We used Drizzle for database migrations and HLS.js for compatible video playback.
We integrated Kick’s clip endpoint, Twitch Helix, YouTube embeds, optional Brave Search and Upload-Post. Recommendations use a custom scoring algorithm combining watch activity, likes, category preferences, creator diversity and exploration.
The demo runs locally. Credential-dependent discovery and social publishing integrations still need connected accounts for live verification.
Challenges we ran into
Different platforms expose different playback, authentication and engagement capabilities. We had to handle unavailable clips, API failures and incomplete metadata while keeping the experience useful.
Cross-posting added another challenge: accepting an upload does not mean a platform has published it. We built separate states for pending submissions, confirmed posts, TikTok drafts and uncertain outcomes, alongside duplicate prevention.
Accomplishments that we're proud of
We created a cohesive FaZe-themed experience with working uploads, persistent likes and a shared discovery feed.
We also built recommendations that respond to user activity while leaving room to discover new creators. Our build, TypeScript checks and 34 automated tests passed.
What we learned
A clip platform needs more than a feed. Ownership, reliable playback, meaningful ranking and clear publishing feedback all shape the experience.
We also learned that external engagement is useful as an aggregate popularity signal, while first-party likes give our community its own voice.
What's next for Faze Clips
Next, we want to activate and verify the live integrations, expand discovery, improve playback tracking where platforms support it, and add vertical video editing tools.
Our goal is to make FaZe Clips a place where discovering a moment, sharing it and helping it take off feel connected.
Built With
- brave-search-api
- cloudflare-workers
- custom-css
- d1
- drizzle-orm
- hls.js
- kick-api
- lucide-icons
- r2
- react
- twitch-helix-api
- typescript
- upload-post-api
- vinext
- vite
- youtube-embeds