Fliccs
formerly Tessro. long story.
Watch movies together in sync. No uploads, no accounts, just the room.
What is Fliccs?
I used to watch movies with my girlfriend over long-distance calls, and we'd spend half the night trying to sync. "Pause." "No, you pause." "Okay, play on three. One... two..." and somehow we'd still be thirty seconds apart. I got tired of the ritual, so I built a room where playback actually stays in sync.
Fliccs is that room. Create a session, invite friends, pick a local file. In Sync Mode, everyone has the same video on their machine and Fliccs keeps play, pause, and seek locked together. In Stream Mode, the host broadcasts via WebRTC so guests don't need the file at all. Live chat, password-protected sessions, randomly assigned little avatars, no accounts, no uploads.
It's privacy-first on purpose. Your video never gets uploaded to my servers. No trackers, no "sign up to continue." Just a link, a nickname, and a movie night that doesn't require a countdown.
It used to be called Tessro
Before Fliccs, this project was Tessro. Same soul, different name, and a domain I was weirdly proud of. I bought tessro.com, put it on the landing page, linked it from my portfolio, and walked around like I'd locked in a real brand.
Then I lost the domain. Not in a cool cyber-heist way. In the boring, "I blinked and renewals are a thing apparently" way. One day the site was mine. Next day it wasn't. Lesson learned the expensive, slightly humiliating way: treat domains like rent, not trophies. Also maybe don't build your entire identity around a name you can accidentally misplace.
So I renamed the whole thing to Fliccs. Fresh mark, fresh repo, same watch-party brain. The old Tessro links are gone; this is the real one now. If you still have a tessro.com bookmark, I'm sorry. I am also mildly roasting myself about it forever.
Key Features
-
Sync Mode
Same local file, shared playback. Play, pause, seek together.
-
Stream Mode
Host broadcasts live over WebRTC. Guests just watch.
-
Live Chat
Room chat that stays with you, even in fullscreen.
-
Secure Sessions
Password-protected rooms with one-click invite links.
-
Privacy First
No uploads. No accounts. No tracking.
-
Actually Responsive
Desktop theater layout, mobile stack, hideable chat rail.
Perfect For
(if this sounds like you)
-
Long-distance movie nights
The whole reason this exists.
-
Friend watch parties
One host, many couches, one timeline.
-
Quick file reviews
Sync a cut or a lecture without uploading it.
-
Family time
Share a film without sharing a Google Drive folder.
Privacy & Technology
Your files stay on your devices. Sync Mode only compares a local hash so everyone knows they're watching the same thing. Stream Mode pushes media peer-to-peer with WebRTC; the server just handles signaling, chat, and session state. Nicknames and dicebear avatars, no profile pages, no "we sold your watch history."
Stack-wise: React + Vite on the frontend, Node.js + Express on the backend, Socket.IO for sync and chat, WebRTC for streaming, Tailwind for the UI, deployed on Railway. TURN keeps Stream Mode alive across nasty NATs. Domains, as established, are a separate skill tree I'm still leveling.
What's Next
- in progress Voice Chat
- in progress Emoji Reactions
- planned Subtitle Syncing
- planned Self-hosted TURN
- planned Mobile App
- planned Offline LAN Mode
Get Started
Want to try it? Spin up a room on Fliccs, send the invite link, and skip the 3...2...1. Code's open on GitHub if you want to poke around or contribute. And if you ever see me bragging about a domain again, please laugh.