We Built Voice Chat That Lives Entirely in Your Terminal (Yes, Really)

Published: (February 14, 2026 at 08:18 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

This is a submission for the GitHub Copilot CLI Challenge

What we Built

VoiceSync — because who needs a GUI when you can have hacker vibes? 😎

We built a fully functional voice‑chat app that runs entirely in your terminal. It’s like Discord and Zoom had a baby and raised it on command‑line aesthetics.

Highlights

  • 🎙️ Real‑time voice chat with live waveform visualization (you can literally SEE sound waves)
  • 🔐 End‑to‑end encryption (AES‑256‑GCM + Diffie‑Hellman because we’re not savages)
  • 💬 Text chat + desktop notifications (so you know when your friend roasts you)
  • 🌍 Works over the internet via ngrok tunnels
  • 🤖 Built‑in AI assistant powered by GitHub Copilot CLI (yes, Copilot inside Copilot)
  • 📊 Audio quality indicators showing latency, bitrate, and packet jitter in real‑time
  • 👥 Join/leave notifications so you know who’s lurking

Tech Stack: Node.js, WebSockets, SoX (for audio), Blessed.js (for the terminal UI), and a concerning amount of energy drinks.

Shoutout to my team: @muhammedameen_enesiibrah and @thecodedaniel — couldn’t have debugged that audio‑echo nightmare without y’all 🙏

Demo

Screenshots

VoiceSync screenshot 1

VoiceSync screenshot 2

VoiceSync screenshot 3

My Experience with GitHub Copilot CLI

The Good Stuff

Before Copilot: “How do I encrypt WebSocket audio streams again?”

After Copilot:

gh copilot suggest "encrypt websocket audio stream nodejs"

…instant answers.

Copilot CLI was basically our third brain. We integrated it inside the app so users can literally ask questions while using VoiceSync:

[You]: @copilot how does encryption work in this app?
[Copilot]: VoiceSync uses AES‑256‑GCM encryption with Diffie‑Hellman key exchange…

Meta? Yes. Useful? Absolutely.

Real Scenarios Where Copilot Saved Us

The Audio Echo Bug from Hell
We spent three days with the host hearing themselves twice. Copilot suggested checking if the server was broadcasting to itself. One‑line fix. Pain = over.

gh copilot explain "websocket server broadcasting to sender"

SoX Cross‑Platform Nightmare
Windows uses -t waveaudio, macOS uses -d, Linux uses… something else. Copilot helped us write a config module that detects the platform and uses the correct args.

gh copilot suggest "detect platform and use correct audio device args nodejs"

Terminal UI Rendering Issues
Text was bleeding across panels like a cursed PowerPoint. Asking Copilot about Blessed.js batched rendering revealed we were calling screen.render() too many times. Boom, fixed.

The “Oh Damn” Moment

The coolest part? We used Copilot so much during development that we thought: “What if users could do this too?”
So we added @copilot as an in‑app command. Now anyone using VoiceSync can ask questions without leaving the terminal. It’s like having a dev team on standby.

Productivity Boost

Honestly, we probably saved 40–50 hours:

  • No more alt‑tabbing to Stack Overflow
  • No more “wait, let me Google that”
  • No more deciphering cryptic error messages alone

Copilot CLI became our debugging buddy, documentation search engine, and rubber duck all in one.

What We Learned

GitHub Copilot CLI isn’t just for writing code — it’s for understanding code. When we hit errors, instead of rage‑Googling, we’d run:

gh copilot explain "SyntaxError: Unexpected token in JSON"

It told us we were trying to parse binary audio frames as JSON (which… yeah, that makes sense now).

Try It Yourself

# Install
git clone https://github.com/Boweii22/Copilot
cd Copilot
npm install

# Host a room
npm run host

# Join from another terminal/machine
npm run join -- localhost ABC123 YourName

Enter fullscreen mode

Exit fullscreen mode

Full instructions are in the README. Works on Windows, macOS, and Linux. Requires Node.js and SoX (we documented everything because we’re not monsters).

Final Thoughts

We built this in a very short amount of time, which meant a lot of disturbing stress 😭😅 while juggling sleep deprivation. GitHub Copilot CLI was the fourth team member we didn’t know we needed.

If you’ve ever thought, “I wish I could ask my terminal for help,” you can now.

Also, if you’re still using Discord for voice calls with friends, you’re missing out on the superior terminal experience. Come @ us. 😤

Built with: way too many sweets, GitHub Copilot CLI, the power of friendship, and WebSockets 😅

P.S. — Yes, we know P2P would be cooler. That’s v2.0. For now, enjoy self‑hosted voice chat that actually works.

Team

[@_boweii](https://dev.to/_boweii), [@muhammedameen_enesiibrah](https://dev.to/muhammedameen_enesiibrah), [@thecodedaniel](https://dev.to/thecodedaniel)
0 views
Back to Blog

Related posts

Read more »