Connectify
Shared listening rooms. Everyone in the room gets the same queue, played in sync, and nobody needs an account.
It runs on a free server that sleeps when nobody is using it, so the first load can take about a minute.

- Status
- Live
- When
- Jul to Sep 2026
- Role
- Led product development, directed AI-assisted implementation
- Team
- Solo
- Made with
- React, Vite, Express, Socket.IO, PostgreSQL, Prisma
What it is
You create a room and paste a YouTube link, and everyone in the room gets the same queue and the same playback position. There is also chat, voting, a fair queue that rotates between the people adding songs, and a few party modes.
My part
I led the product development and made the decisions listed below. AI coding tools wrote the implementation based on my direction, so I did not hand-write the code.
How it works
The server keeps the truth about each room, which is the queue, who voted, and where playback is at. When you do something, your device sends it to the server and shows the result immediately. The server then sends back small numbered updates, and every device follows those. If a device misses an update, it just asks for a fresh copy of the room.
Limits
- It only supports YouTube.
- The first visit after a quiet period is slow, since the free server has to wake up first.
Decisions
These go from the first to the latest. For each one, what I saw and what I did about it.
Syncing Spotify playback would mean every listener has to sign in, and they would all need Premium.
I started with YouTube only, and kept the player separate so another provider can be added later
If my friends had to sign up just to join a room, that would be the fastest way to lose them.
No accounts. A room is a six-character code, and a recovery key gets you back in
Adding a song felt slow, and playback kept drifting apart between people.
I made the server own the room. Your device shows a change right away, then follows what the server says
I had a list of small things that were annoying to use, like rooms getting stuck on videos that could not play.
I spent a day on them. Unplayable songs get skipped, songs show up in the queue at once, search stays open
The free YouTube search quota only covers roughly 100 searches a day.
Results are cached in memory and in the database, and pasting a link always works without the quota
Keeping the free server awake all day was using up the hosting allowance.
I paused the keep-awake pings and accepted a slow first load, with a note that says so