--- title: Voice Notes Demo emoji: 🎙️ colorFrom: indigo colorTo: blue sdk: gradio sdk_version: 6.30.0 app_file: space_app.py pinned: false short_description: Voice-first notes and tasks with self-hosted Whisper python_version: "3.12" startup_duration_timeout: 30m --- # Voice Notes Demo A live demo of **Voice Notes**, a voice-first notes and task manager. This Space runs the actual FastAPI application and serves its dashboard at the root URL. - **Record** in the browser, **upload** an audio file, or **type** a note. - Speech-to-text is **self-hosted faster-whisper** (`base.en`, CPU, `int8`). - The transcript is saved as a note **before** intent extraction. - An OpenAI-compatible LLM classifies the intent and creates, updates, or queries tasks. This hosted demo uses Groq's `openai/gpt-oss-20b` through the app's normal provider-agnostic client (the key is a Space secret, not part of the code). - The dashboard, REST API, and WebSocket live transcription are the same ones described in the project README. ## Try it Open the dashboard and use the microphone (HTTPS is available here), upload [`samples/create_task.wav`](https://huggingface.co/spaces/osina/voice-notes/resolve/main/samples/create_task.wav), or type one of these: 1. `Remind me to send a deployment summary to the team tomorrow, high priority.` 2. `What tasks are pending this week?` 3. `Mark the deployment summary as done.` 4. `Interesting idea: use Qdrant for semantic search over notes.` The first voice request can take a little longer while the Whisper model loads. Data is stored in SQLite under `/tmp` and resets whenever the Space restarts. ## API - Dashboard: - Swagger UI: - Health: - OpenAPI: - Full project README: [APP_README.md](https://huggingface.co/spaces/osina/voice-notes/blob/main/APP_README.md) - Design note: [DESIGN.md](https://huggingface.co/spaces/osina/voice-notes/blob/main/DESIGN.md) ## Notes and limitations This is a public demo, not a production deployment. It has no authentication or per-user isolation, and the Space filesystem is ephemeral. Do not upload sensitive audio. For local use with your own LLM and persistent SQLite data, follow the full project README. The backend and dashboard are unchanged; only the Space entrypoint and deployment configuration differ.