Application desktop pour techniciens industriels : dicter un rapport d'intervention vocalement, obtenir un JSON structuré en moins de 30 secondes. Conçu pour les environnements bruyants (fonderie, atelier mécanique, agro-alimentaire).
User story : "En tant que technicien, je veux appuyer sur un bouton, décrire mon intervention oralement, et recevoir automatiquement un rapport structuré — sans taper une seule lettre."
[Technicien]
│ push-to-talk (Electron)
▼
POST /interventions → ARQ Worker
│
DeepFilterNet (débruitage)
│
faster-whisper large-v3
│
Claude → JSON structuré
│
statut: review_pending
↓
[ReviewCard — frontend éditable]
Technicien valide / corrige
↓
PATCH /interventions/{id}
statut: done → webhook
| Composant | Technologie |
|---|---|
| Frontend | Electron + React + TypeScript + Tailwind |
| Backend | Python / FastAPI |
| Queue | ARQ (async jobs) |
| Débruitage | DeepFilterNet 0.5+ |
| STT | faster-whisper (large-v3) |
| Structuration | Claude (claude-sonnet-4-6) |
| GPU (serverless) | RunPod — AMPERE_16/24, ADA_24 |
| Base de données | SQLite (dev) / PostgreSQL (prod, OVH) |
| Packaging | Docker |
# Backend
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Worker ARQ
arq app.worker.WorkerSettings
# Frontend
cd frontend
npm install && npm run dev| Statut | Description |
|---|---|
pending |
Job enqueué, traitement en attente |
review_pending |
STT + Claude OK, en attente de validation humaine |
done |
Validé par le technicien, webhook envoyé |
error |
Erreur pipeline (STT ou structuration) |
cp .env.example .env
# ANTHROPIC_API_KEY
# RUNPOD_API_KEY
# RUNPOD_ENDPOINT_ID
# DATABASE_URL
# WEBHOOK_URL