Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThreadCoach

ThreadCoach is a local-first verbal sparring partner for fast thinkers who lose the thread.

It helps turn messy spoken or written thoughts into clear, landed points without making the user sound robotic.

The long-term idea: a private, open-source communication coach that can listen while you explain something, catch topic jumps, park side thoughts, and push you to land the point.

Why this exists

Some people think in webs, but speech is linear. That mismatch can make a smart person sound scattered, uncertain, or hard to follow.

ThreadCoach is built around a simple loop:

  1. Capture the thought.
  2. Detect the current thread.
  3. Notice side threads and open loops.
  4. Park distractions without losing them.
  5. Help the user say the actual point clearly.

Current status

This is an early OSS prototype.

Today it supports:

  • text/transcript analysis
  • topic jump detection
  • open loop detection
  • parking lot extraction
  • confidence leak detection
  • filler/verbal habit detection
  • a clearer version of the thought
  • coaching prompts by mode

Next targets:

  • local audio transcription with faster-whisper or whisper.cpp
  • optional local LLM coaching through Ollama
  • browser microphone UI
  • real-time sparring / interruption mode
  • Markdown export to Obsidian

Install locally

git clone https://github.com/ChristopherLandaverde/threadcoach.git
cd threadcoach
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

For development tests:

pip install -e '.[dev]'
pytest

Usage

Analyze a text file:

threadcoach analyze examples/messy-thought.txt

Use a specific mode:

threadcoach analyze examples/messy-thought.txt --mode land
threadcoach analyze examples/messy-thought.txt --mode spar
threadcoach analyze examples/messy-thought.txt --mode rehearse

Write a Markdown report:

threadcoach analyze examples/messy-thought.txt --output reports/session-001.md

Pipe text directly:

echo "I think this app could help but also maybe it connects to ADHD and working memory" | threadcoach analyze --mode clarify

Coaching modes

Mode Purpose
clarify Find the main point
spar Pressure-test the thought
rehearse Prepare for a real conversation
debrief Review after a conversation
land Force the takeaway

Product principles

  • Local-first by default
  • Private transcripts by default
  • Direct, calm coaching
  • No corporate filler
  • Preserve the user's voice
  • Helpful interruption over passive summarization
  • Do not frame this as a medical or diagnostic tool

Roadmap

See also: docs/communication-training-roadmap.md for the speech-pathology-style training model behind ThreadCoach.

Phase 1 — CLI

  • Analyze text transcripts
  • Generate Markdown reports
  • Add tests
  • Add config file for coaching preferences

Phase 2 — Voice notes

  • Transcribe local audio files
  • Support faster-whisper
  • Support whisper.cpp
  • Save transcript + report together

Phase 3 — Local LLM coach

  • Optional Ollama integration
  • Structured JSON coaching output
  • Current thread + parking lot state machine

Phase 4 — Live sparring

  • Browser microphone recorder
  • Near-real-time transcript chunks
  • Coach interruption rules
  • Text-to-speech via Piper/Kokoro/Coqui

Example output

# ThreadCoach Report

## Main Point
I think the separate Cooper user might be useful but it is also annoying because I keep copying thoughts here.

## Topic Jumps
- Possible shift around 'also'.
- Possible shift around 'and then'.

## Parking Lot
- app idea
- working memory
- overbuilding

## Say It Like Me, But Clearer
I think the separate Cooper user is useful for dev separation, but it creates friction for raw thought capture. Separate thoughts to park for later: app idea, working memory, overbuilding.

## Coach Prompt
What is the one sentence you want the listener to remember?

License

MIT

About

Local-first verbal sparring partner that catches topic jumps and helps you land the point when explaining something out loud or in writing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages