Spaces:
Running
A newer version of the Gradio SDK is available: 6.20.0
title: Pensieve
emoji: 🎙️
colorFrom: gray
colorTo: red
sdk: gradio
sdk_version: 6.17.3
app_file: app.py
pinned: false
license: mit
short_description: Speak a thought, get a markdown note, then chat with them
tags:
- gradio
- build-small-hackathon
- track:backyard
- sponsor:modal
- sponsor:cohere
- achievement:offbrand
- best-demo
models:
- Qwen/Qwen3-8B
- Qwen/Qwen3-Embedding-0.6B
- CohereLabs/cohere-transcribe-03-2026
Pensieve
Speak a thought and Pensieve turns it into a clean markdown note in the background. Browse your growing collection of notes and ask questions across everything you have captured.
Capture is asynchronous: stop recording and the transcribe, summarise and index pipeline runs as a background job, so you can record the next thought right away.
I built this for my dad, who is always going on walks and recording voice notes of his thoughts. Pensieve allows him to build a catalogue of his thoughts and recall them easier.
Demo
- Video: https://huggingface.co/spaces/build-small-hackathon/pensieve/resolve/main/pensieve-demo.mp4
- Social post: https://www.linkedin.com/feed/update/urn:li:activity:7472430389475610624/
How it works
The front end is a dark, minimalist Gradio app with a bottom tab bar that installs to the home screen on an iphone as a progessive web app (PWA). All AI inference runs on Modal, and every model is under 32B parameters.
- Record: capture audio, then a background job runs transcribe, summarise and index.
- Jobs: a live view of each pipeline job and its stage.
- Knowledge: a Chat and Notes view. Chat answers with RAG over your notes and cites sources. Notes lets you search and read your captured notes.
Models (all < 32B)
| Role | Model | Runs on |
|---|---|---|
| ASR | CohereLabs/cohere-transcribe-03-2026 | Modal, L4 GPU |
| Embeddings | Qwen/Qwen3-Embedding-0.6B | Modal, CPU |
| LLM | Qwen/Qwen3-8B | Modal, L4 GPU |
Future work
First order of business would be to move the data into some user owned data storage (like google drive). right now its on a dataset repo, but its not private as I have access, although each user can't see eachothers data.
I could would then speed up inference by using per-token cost API's instead of having to cold-start GPUs. I am currently using memory snapshots and that does seem to speed things up a lot.
Improve RAG and prompting, currently using hybrid RAG with reciprocal rank fusion (RRF), but a re-ranker couldn't hurt.