Turn videos, audio, and text into a structured, semantically searchable knowledge base - entirely on your own machine.
Pipeline: ingest → transcribe → distil → embed → search
Install · Quick start · How it works · Roadmap
Synthesis ingests a source, distils it into atomic insights, links those insights to what you already know, and lets you search across everything by keyword or meaning. No data leaves your machine.
Built for clinicians, clinical teams, public-sector analysts, and anyone navigating complex, information-dense problems in environments where sending data to third-party AI services is not an option.
-
curl https://mise.run | sh mise use --global elixir@latest erlang@latest -
Install yt-dlp and Ollama:
pip install yt-dlp ollama pull qwen3.6:27b qwen3-embedding:8b
-
Clone and run:
git clone https://github.com/The-Strategy-Unit/synthesis.git cd synthesis mix deps.get mix wiki.add "https://www.youtube.com/watch?v=<id>" mix wiki.search "your query"
If you generated notes before the cross-presentation linking feature, or you want to refresh links after changing settings:
mix wiki.link # recompute semantic links in the database
mix wiki.update_links # rewrite Related sections in all markdown notesHost your generated wiki as a static site with an Obsidian-like graph view using Quartz:
git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create -s ./../output/
npx quartz build --serve # preview locally at localhost:8080Deploy the public/ output to Azure Static Web Apps (free tier) or GitHub Pages.
- Ingest - paste a YouTube URL, audio file, or text.
- Transcribe - extract a transcript locally.
- Distil - a local model pulls out atomic insights and a summary.
- Store - insights are saved with semantic embeddings in a local SQLite database.
- Search - query by keyword or meaning across your whole knowledge base.
- All processing runs locally via Ollama.
- No API keys, no cloud dependency, no data egress.
- Supports approved enterprise providers such as Azure OpenAI in future releases.
Synthesis is not a medical device and must not process patient-identifiable data. It is a knowledge-management tool for educational and research use.
A one-click installer is on the roadmap. For now, follow the developer install above. We welcome feedback on what would make setup easier.
Synthesis is written in Elixir on the Erlang VM, which gives us lightweight concurrency, fault tolerance, and the ability to ship a standalone local-first binary.
Configuration is handled in config/config.exs or via .env.
| Setting | Default | Notes |
|---|---|---|
ollama_url |
http://localhost:11434 |
Ollama host |
ollama_model |
qwen3.6:27b |
Main inference model |
ollama_model_embed |
qwen3-embedding:8b |
Embedding model |
chunk_concurrency |
2 |
Parallel chunks for long transcripts |
single_chunk_threshold |
2500 tokens |
Below this, process in one call |
max_retries |
3 |
Retry attempts on LLM failure |
output_dir |
output/ |
Markdown notes location |
db_path |
synthesis.db |
SQLite database location |
- One-click installer for non-technical users
- Audio and plain-text ingestion
- Azure OpenAI support
- Shared team knowledge bases
See LICENSE.