Case

goChatty.chat: frictionless voice rooms

Real-time voice rooms in the browser — create a room, share the link, and start talking instantly. No registration, no installation.

live Jan 2026 public
Cover for goChatty.chat: frictionless voice rooms

Step 01

Problem

Traditional communication tools (Zoom, Teams, Discord) add friction for quick conversations: registration, downloads, setup. For a 2-minute chat, the setup takes longer than the conversation itself.

Step 02

Context and constraints

Founder-led product built to validate a simple hypothesis: teams, communities, and friends need voice conversations that start in seconds — not after a setup wizard. Built solo from scratch with WebRTC mesh + Socket.IO signaling.

Role: Technical founder owning product, architecture, realtime backend, UX, SEO content, and deployment.

Step 03

Key decisions

  • Bubble-first interface with direct create/join flow and no forced account step.
  • WebRTC mesh plus Socket.IO signaling to keep infrastructure light in MVP.
  • Explicit operational limits (6 people max, 5 rooms per IP per week) to validate usage safely before scaling.
  • Microphone test with adjustable threshold for users with background noise issues.
  • Dark/light theme toggle for user preference.
  • Public changelog with bug reporter credits to build community trust.
  • SEO-optimized landing pages for organic discovery (voice rooms, no-registration chat, browser voice chat).
  • Kickstarter wishlist to validate demand for premium features before building infrastructure.

Step 04

Outcomes

  • Live product at gochatty.chat with active users from multiple countries (Spain, Latin America, Eastern Europe).
  • Bug reports and feedback from real users: karol1234567, dariuch, nueve1, namalsk.
  • V1.1 released July 2026 with Chrome/Chromium audio fixes, duplicate bubble fix, ICE restart improvements.
  • SEO landing pages ranking for voice room keywords in Spanish.
  • 7+ wishlist subscribers for Kickstarter campaign without active promotion.

Metrics

  • MVP room capacity: up to 6 people per room (MAX_ROOM_PARTICIPANTS=6).
  • Anti-abuse limit: max 5 rooms per IP in a 7-day window.
  • Automatic cleanup of empty rooms after 7 days of inactivity.
  • Bug reports resolved: Chrome muting (remote AudioContext), duplicate bubbles (sequence counter + peer:joined), audio dropouts (ICE restart 100ms, soft reconnect, 5s fallback).
  • Languages: ES and EN interface.
  • Kickstarter goal: screen sharing 1080p@60fps with audio.

Step 05

Learnings and next improvement

How it works

Create a room in one click, share the link, and anyone with a compatible browser can join and talk — no accounts, no downloads, no setup.

Product flow

Click "Create room" → Share link → People join from browser → Start talking

No backend audio processing. All voice data flows peer-to-peer via WebRTC. Socket.IO handles signaling (room creation, participant discovery, ICE candidate exchange). When a room is empty for 7 days, it’s automatically cleaned up.

Key features

  • One-click room creation: no forms, no passwords, no invite systems
  • Link-based access: share the URL and anyone joins
  • No registration: users pick a display name and enter
  • Browser-native: works on Chrome, Edge, and other Chromium-based browsers
  • Microphone test: built-in audio level monitor with adjustable silence threshold
  • Dark/light theme: toggle for accessibility
  • Bilingual: ES and EN interface
  • Recent rooms: quick re-entry to previously used rooms

Current limitations (MVP)

  • Maximum 6 people per room (WebRTC mesh scales poorly beyond that)
  • Chrome/Chromium recommended (Firefox and Safari have known issues with remote AudioContext)
  • Screen sharing not yet available (planned for Kickstarter-funded next phase)

Technical architecture

The stack is intentionally minimal for MVP validation:

ComponentTechnology
FrontendVanilla HTML/CSS/JS
SignalingSocket.IO (Node.js)
Audio transportWebRTC mesh (browser-to-browser)
Audio codecOpus (browser default)
DeploymentVPS / Node.js server
SEO pagesStatic HTML with structured data

Bugs fixed in V1.1 (July 2026)

  • Chrome/Chromium muting: remote peers connecting to the AudioContext caused audio loss. Fixed by not connecting remote streams to the AudioContext and handling them directly.
  • Duplicate voice bubbles: caused by sequence counter collisions and peer:joined events being processed multiple times. Fixed by adding a deduplication check with origin tracking.
  • Audio dropouts: connections dropping mid-conversation. Fixed with ICE restart at 100ms, soft reconnect logic, and a 5-second fallback timeout.

Learnings

  • In realtime products, controlled scope accelerates technical validation — simpler is better.
  • Join-flow simplicity is a stronger differentiator than feature volume. Users value speed over options.
  • Public changelogs with user credit build community trust and encourage more bug reports.
  • SEO matters for zero-budget products — landing pages for specific use cases drive organic traffic.

Next improvement

Launch a Kickstarter campaign to fund infrastructure and build screen sharing (1080p@60fps with audio), improved scalability, and premium features for teams and businesses.

Step 06

Project visual for goChatty.chat: frictionless voice roomsProject visual for goChatty.chat: frictionless voice rooms