Developers

Open-source. Opinionated. Welcoming.

Sync Speak is MIT-licensed and actively developed. The codebase is small, the pipeline is documented end-to-end, and the contribution workflow is boringly professional on purpose — branch protection, issue-driven branches, CI on every PR.

Three-tier architecture

Tier 1

Shell (Rust, Tauri v2)

Native window with transparency, IPC bridge to the UI, persistent history and config storage. Code at src-tauri/.

Tier 2

UI (React 19, TypeScript, Zustand)

TranslatePage, HistoryPage, VoicesPage, GuidePage, Settings modal. Liquid Glass CSS design system. No Tailwind. Code at src/renderer/.

Tier 3

Audio sidecar (Python)

Command loop, VAD, pipeline orchestration, Sarvam and Groq API wrappers. Code at python/.

Tech stack

  • Shell Tauri v2 (Rust) Native window, IPC bridge, history/config storage
  • UI React 19 + TypeScript + Zustand Pages, state, Liquid Glass design system
  • Build Vite 6 Frontend bundling, HMR, TS strict
  • Sidecar Python 3.11 + sounddevice Audio capture, pipeline orchestration
  • STT Sarvam Saarika v2.5 Hindi/Hinglish speech to text
  • LLM Groq Llama 3.3 70B Translation with 5-utterance context
  • TTS Sarvam Bulbul v3 English speech synthesis, sentence-pipelined
  • VAD webrtcvad (Google Neural VAD) Speech/silence detection

Contribution workflow

  1. Open an issue first. Every branch is issue-driven. Use the bug report or feature request template.
  2. Branch from develop. Naming is enforced by CI: <type>/issue-<n>-<desc> where typefeat · fix · docs · refactor · chore · hotfix.
  3. Commit in the project style. <type>: <imperative subject>. One logical change per commit.
  4. Open a PR against develop. CI runs branch-name, Python, TypeScript, Rust, and website-build checks.
  5. Maintainer reviews & merges. Production promotion happens via a separate develop → main PR.

Good first issues

  • Add a new Bulbul voice preset
  • Refine a Hinglish correction in the table
  • Improve a docs page for clarity
  • Add a new language (Tamil, Bengali, Marathi) to the STT step
  • Add a Lighthouse CI check for this website
Browse open issues →