Quick Start
Prerequisites
Section titled “Prerequisites”| Side | Requirement |
|---|---|
| Server — pick one path | Docker or Rust 1.70+ or precompiled x86_64 binary (Windows/Linux) |
| Client — pick one path | Modern browser (Web App) or Android device or Flutter 3.x |
No cloud account needed. First server start downloads the model (~2–3GB), subsequent starts are ~2–3s.
0. Clone (only if you build from source)
Section titled “0. Clone (only if you build from source)”git clone https://github.com/lutgaru/Sinsajo.gitcd SinsajoSkip this if you only use Docker or precompiled binaries / Web App / APK.
1. Start a Server — pick one
Section titled “1. Start a Server — pick one”Best for a Linux server / homelab. Persists models and recordings.
services: sinsajo-server: image: lutgaru/sinsajo-server:latest ports: ["8765:8765"] volumes: - sinsajo_models:/app/models - sinsajo_records:/app/records restart: unless-stoppedvolumes: sinsajo_models: sinsajo_records:docker compose up -d# -> ws://localhost:8765 (or your LAN IP:8765)See Server Guide for tags (--model Canary180M) and volumes.
Same image without a compose file:
docker pull lutgaru/sinsajo-server:latestdocker run -p 8765:8765 \ -v sinsajo_models:/app/models \ -v sinsajo_records:/app/records \ lutgaru/sinsajo-server:latestNo Docker / no Rust needed. Download for your OS/arch.
# From GitHub Releases -> server/v* assets:# - sinsajo-server (linux x86_64)# - sinsajo-server.exe (windows x86_64)./sinsajo-server --model ParakeetTDT --autodownload-model --port 8765# Windows: .\sinsajo-server.exe --model ParakeetTDT --autodownload-modelGet it at server-latest. No compilation.
CLI args:
| Arg | Default | Description |
|---|---|---|
--model |
prompt | ParakeetTDT or Canary180M |
--autodownload-model |
false |
Auto-download if missing |
--port |
8765 |
WebSocket port |
--model-dir |
./models |
Model storage |
--records-dir |
./records |
WAV/OGG output |
For any architecture that meets minimum requirements (Rust 1.70+, ~500MB RAM for Int8).
cd servercargo run --release -- --model ParakeetTDT --autodownload-model# -> ws://0.0.0.0:8765# or build: cargo build --release && ./target/release/sinsajo-server --helpIf --model is omitted it reads sinsajo-config.json, then prompts.
2. Connect a Client — pick one
Section titled “2. Connect a Client — pick one”Fastest — nothing to install.
- Ensure your server is running (
ws://YOUR_SERVER_IP:8765reachable) - Open Web App (or
https://lutgaru.github.io/Sinsajo/app/) - Settings → set server IP → tap mic → speak
Requires HTTPS for microphone (GitHub Pages provides it). See Client Guide.
For phones/tablets — share via link or QR.
- Download
app-release.apkfrom client-latest - Enable Install unknown apps → install → set server IP in Settings → speak
Built on every client/v* tag via GitHub Actions. Do not commit APKs to git.
For any platform meeting client requirements (Flutter 3.x): Android, iOS, Linux, macOS, Windows, Web.
cd sinsajo_clientflutter pub getflutter run # on connected device/emulatorflutter build apk --release # Androidflutter build web --release --base-href /Sinsajo/app/ # Web (merged into docs-site/dist/app/)Default URL is lib/providers/transcription_provider.dart → kWsUrl, overridden in Settings UI (gain, source, save_audio, target_language).
3. Use it
Section titled “3. Use it”- Tap the microphone button in the client
- Speak — VAD highlights when speech is detected (only speech is sent)
- See real-time text;
model_infotells you which languages are supported - Tap Stop or Clean to end —
cleanalso saves WAV/OGG on the serverrecords/ - Copy or clear the transcription
See also: Architecture, Configuration, Client, Server.