All projects

Connectify

Shared listening rooms. Everyone in the room gets the same queue, played in sync, and nobody needs an account.

The Connectify landing page, with a Start listening button and a sample room.
The landing page.
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.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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