⚡ v0.2.0 · 5 providers · cloud + local

Your meetings,
without the noise.

Drop in a transcript. Get back decisions, tasks, and blockers — with owners, confidence scores, and drift tracking. Works with the AI you already use, or runs fully offline.

works with Gemini Claude GPT-4 Mistral Ollama
Runs locally
No cloud needed
Node.js 18+
teampulse — zsh
AI Reasoning
analyze
--local
batch
M
what got decided this week?
thinking…
scanning 4 transcripts Mon–Fri
filtering decisions, confidence ≥ 0.82
matching owners and deadlines
tool analyze_transcripts(since="monday", type="decisions")
Found
3 decisions across 4 meetings:
Mon — Migrate auth to Clerk (→ @sara)
Wed — Freeze scope for v1.2 (→ @team)
Fri — Deploy to staging EOD (→ @carlos)
teampulse analyze standup-2026-05-23.txt --provider claude
analyzing with claude-3-5-sonnet…
3 decisions · 5 tasks · 2 risks

DECISIONS
───────────────────────────────────
› Migrate auth to Clerk [sara] [high]
› Freeze scope for v1.2 [team] [confirmed]

TASKS
───────────────────────────────────
› Update onboarding copy [carlos] [due fri]
› Write migration script [sara] [due mon]

RISKS
───────────────────────────────────
› API rate limits on free tier [unresolved]
teampulse analyze meeting.txt --provider ollama --model mistral
running locally · mistral:latest · no API key
● offline · nothing leaves your machine

2 decisions · 4 tasks · 1 risk

AVAILABLE LOCAL MODELS
───────────────────────────────────
ollama --model mistral / llama3 / phi3 / gemma2
mistral API · mistral-large / mixtral-8x7b

tip: ollama pull mistral to get started
teampulse batch ./meetings/ --since 2026-05-01 --filter risk
processing 7 files…
sprint-planning.txt
design-review.txt
backend-sync.txt
···

RISKS · 7 meetings
───────────────────────────────────
› API rate limits [3×]
› Auth migration timeline [2×]
› Staging env unstable [2×]

Features

Less noise, more signal

The stuff that usually falls through the cracks — pulled out automatically, every time.

🎯

Decisions

Every decision tagged with owner and confidence. No more "wait, what did we agree on?"

Tasks

Action items extracted from context, not just explicit assignments. Deadlines flagged when missing.

⚠️

Risks & blockers

Surfaces problems early — even when nobody in the meeting called them out directly.

📈

Drift tracking

Compares meetings over time. Spots the same topic coming back, unresolved.

🏠

Fully local

Run everything offline with Ollama. No API key, no usage limits, no data leaving your machine.

📦

Batch mode

Process a whole month of meetings at once with --since, --filter, and --title.

AI Providers

Pick a provider. Keep moving.

One flag to switch. No config changes, no rewrite. Cloud when you want speed, local when you need privacy.

🏠
New in v0.2.0 — local providers
Use --provider ollama to run 100% offline. No API key needed — just ollama pull mistral and you're ready. Or use --provider mistral for the Mistral cloud API.
🤖 Anthropic Claude

Better reasoning on complex meetings with lots of speakers, back-and-forth, and implicit context.

claude-3-5-sonnet claude-3-haiku claude-3-opus
OpenAI GPT-4

Consistent, well-structured output. GPT-4o is solid if you're already in the OpenAI ecosystem.

gpt-4o gpt-4o-mini gpt-4-turbo
🌪️ Mistral AI Local-first

Open-weight and fast. Run via the Mistral API, or use any Mistral model through Ollama without a key.

mistral-large mixtral-8x7b mistral-7b
🦙 Ollama 100% Offline

Runs entirely on your hardware. No API key, no internet, no data leaving the machine. Ideal for anything sensitive.

mistral llama3 phi3 gemma2 qwen2

CLI Reference

Built for real workflows

Pipe it, script it, automate it. Everything you need, nothing you don't.

teampulse analyzesingle file
Analyze one transcript. Prints decisions, tasks, and risks.
teampulse analyze meeting.txt
--providerAI model
Switch provider on the fly — no config edits. gemini · claude · openai · mistral · ollama.
teampulse analyze m.txt --provider mistral
--provider ollamaoffline
Fully local. No key needed. Use --model to pick which Ollama model to use.
teampulse analyze m.txt --provider ollama --model llama3
--watchlive
Monitor a folder. Analyzes each new transcript as it appears.
teampulse analyze --watch ./meetings/
batch + --sincedate filter
Process everything since a date. Useful for weekly or monthly reviews.
teampulse batch ./ --since 2026-05-01
--filtertype
Narrow down to one insight type: risk · task · decision.
teampulse batch ./ --filter risk

App Demo

See what comes out

Preview of the upcoming Chrome Extension — the same engine, now with a visual layer on top of your meetings.

TeamPulse — Meeting Dashboard
Insights
Tasks
Drift
Sprint Planning — May 22
47 min · 5 people · ollama/mistral
84Score
Migrate auth to Clerk before v1.2 launch
@sara · high confidence
Update onboarding copy and illustrations
@carlos · due Friday
API rate limits may block the testing pipeline
unresolved · flagged
Staging is down — QA blocked until Thursday
@devops · critical
Write the auth migration script
@sara · due Monday
QA staging once it's back up
@team · due Thursday
Deploy to production Friday EOD
@carlos · due Friday
API rate limits — came up in 3 meetings in a row
drift detected · still open
Auth migration re-discussed — owner changed since last sprint
2 meetings · possible confusion
62% · moderate vs last sprint
Multi-provider
Switch without touching config
Just pass --provider and go. Works the same whether you're using Claude or running Ollama locally.
teampulse analyze m.txt --provider ollama --model mistral
🏠 Offline mode
Nothing leaves your machine
With Ollama, all processing happens on your hardware. Good for sensitive discussions, air-gapped environments, or just not wanting to pay for API calls.
❯ ollama pull mistral
Privacy
Your transcripts stay yours
No telemetry, no cloud sync, no data stored anywhere. You run the model, you own the output.

Installation

Up in two minutes

Node.js 18+ is all you need to start. Ollama is optional, but worth it.

🍎macOS & Linux
1
Check Node.js
You need v18 or higher.
node --version
2
Clone & install
Get the repo and install dependencies.
git clone https://github.com/mcontrerasmalpar-pixel/teampulse.git
cd teampulse && npm install
3
Add your API key
Copy the env file and fill in whichever key you want to use.
cp .env.example .env
Set GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, or MISTRAL_API_KEY
4
Optional: Ollama
If you want to run fully offline, no API key needed.
brew install ollama
ollama pull mistral
Once pulled, works completely offline
5
Link and run
Make it available globally and run your first analysis.
npm link
teampulse analyze data/sample.txt
🪟Windows (PowerShell)
1
Check Node.js
Open PowerShell and verify your version.
node --version
2
Clone & install
Get the repo and install dependencies.
git clone https://github.com/mcontrerasmalpar-pixel/teampulse.git
cd teampulse; npm install
3
Add your API key
Copy the env file and fill in your key.
Copy-Item .env.example .env
Set GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, or MISTRAL_API_KEY
4
Optional: Ollama
Download from ollama.com and pull a model.
ollama pull mistral
Once pulled, works completely offline
5
Link and run
Make it available globally and run your first analysis.
npm link
teampulse analyze data/sample.txt

Less re-discussing.
More shipping.

TeamPulse keeps decisions, tasks, and blockers in check — across every meeting, every week. Cloud or local, your call.

→ Install TeamPulse View on GitHub