# modal-labs/quillman

A voice chat app

Repository: https://github.com/modal-labs/quillman
Canonical: https://ross.abutalabs.com/products/quillman
Homepage: https://modal.com/docs/examples/llm-voice-chat
Language: Python
License: MIT
License Family: permissive
Topics: language-model, serverless, speech-recognition, speech-to-text, ai, python
Last push: 2026-05-28T00:04:36+00:00

## Health v2 (maintenance only)
Score: 68/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 84, release rhythm 35, longevity 88
- inputs: {"age_days": 1232, "days_push": 98, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1213, forks 158 (observed 2026-08-28T04:04:00.428137+00:00)

## What it is
QuiLLMan is a voice chat application built on Kyutai's Moshi speech-to-speech language model, deployed serverlessly on Modal with a FastAPI websocket backend and React frontend. It streams audio bidirectionally using the Opus codec and Mimi encoder/decoder for near-instantaneous, human-cadence voice conversations.

## Use cases
- build a real-time voice chatbot with an LLM
- deploy a speech-to-speech AI assistant
- stream audio to a language model over websockets
- run Moshi voice model on serverless GPUs
- prototype a low-latency voice AI app
- learn how to serve streaming audio inference in the cloud

## When to choose
- you want a working reference implementation of real-time voice chat with Moshi
- you want to deploy GPU inference serverlessly on Modal without managing infrastructure
- you need bidirectional websocket audio streaming with low latency
- you want a starting point for building your own LLM-based voice apps

## When to avoid
- you need a production-ready commercial voice assistant out of the box
- you don't want a Modal account or its serverless platform
- you need on-premise or self-hosted deployment without cloud dependencies
- you need a text-only chatbot or traditional STT/TTS pipeline instead of speech-to-speech

## Facets
- artifact type: application
- maturity: active
- function: speech-recognition, llm-inference, websocket, chatbot, audio-processing
- domain: artificial-intelligence, large-language-models, speech-processing, chatbots, web-development
- platform: python, cloud
- tags: voice-chat, moshi, speech-to-speech, bidirectional-streaming, modal, serverless-gpu, opus-codec, fastapi, react-frontend, web-server, docker

## Member repositories
- modal-labs/quillman (main) score 68

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:00.428137+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:17:56.718202+00:00, confidence not recorded.
  - readme: https://github.com/modal-labs/quillman (fetched 2026-08-28T04:04:00.428137+00:00, sha 07c4ec70e70b)
  - homepage: https://modal.com/docs/examples/llm-voice-chat (fetched 2026-08-29T12:25:55.030937+00:00, sha 67be95bd4b2f)
  - site_page: https://modal.com/docs/examples/webscraper (fetched 2026-08-29T12:25:55.041457+00:00, sha 064c6bd985e8)
  - site_page: https://modal.com/docs/examples/basic_web (fetched 2026-08-29T12:25:55.043943+00:00, sha 4b548b39aae3)
  - site_page: https://modal.com/docs/examples/llm_inference (fetched 2026-08-29T12:25:55.047095+00:00, sha 44136fa355b3)
  - site_page: https://modal.com/docs/examples/ministral3_inference (fetched 2026-08-29T12:25:55.049675+00:00, sha 02a3ce96e7b7)
  - site_page: https://modal.com/docs (fetched 2026-08-29T12:25:55.033822+00:00, sha ad435e260a3a)
  - site_page: https://modal.com/docs/guide (fetched 2026-08-29T12:25:55.035826+00:00, sha 318f658a9f8c)
  - site_page: https://modal.com/docs/examples (fetched 2026-08-29T12:25:55.037629+00:00, sha 24dbde805117)
  - site_page: https://modal.com/docs/examples/hello_world (fetched 2026-08-29T12:25:55.039388+00:00, sha 7569216ce735)
- Data as of 2026-08-30T08:39:29.467469+00:00.
