Xoom: Video Conferencing (Zoom-style)
I built Xoom to get hands-on with real-time video: WebRTC, Stream’s SDK, and tying it into a full app. You get auth (Clerk), create or schedule meetings, join with a meeting ID, and each user has a personal room. There’s a list of upcoming and past meetings, and you can view recordings. In-call you get basic controls (e.g. end call). Layout is responsive so it works on different screen sizes.
It’s not a full Zoom replacement—it’s a focused project to learn the stack and ship something usable.
Running it locally
git clone https://github.com/Shivrajsoni/xoom.git
cd xoom
bun install
Create .env.local with:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYandCLERK_SECRET_KEYNEXT_PUBLIC_STREAM_API_KEYandSTREAM_SECRET_KEY
Then:
bun dev
App runs at http://localhost:3000.
Tech
Next.js, TypeScript, Clerk for auth, Stream for video, Tailwind, shadcn/ui, Bun.
Things I’d add next
In-meeting chat, screen share, different layouts (grid vs speaker), reactions/polls, and virtual backgrounds. If you’re building something similar, the repo is a good starting point for how to wire Stream + Next + Clerk together.