Skip to content

Psymen/PulsePod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PodPulse

Local-first podcast intelligence engine for macOS Apple Silicon.

Monorepo layout

  • backend/ FastAPI + pipeline + SQLite
  • frontend/ React + Vite + TypeScript UI
  • data/ local storage (DB, audio, logs, style profiles)

Prerequisites

  • Python 3.11+
  • Node.js 20+
  • ffmpeg
  • yt-dlp
  • Optional: ollama, mlx-whisper (fallback only)

Backend setup

# if needed on macOS:
# brew install python@3.11

cd /Users/simon/Documents/PulsePod/backend
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cd /Users/simon/Documents/PulsePod
cp .env.example .env
python -m podpulse.migrations
python -m podpulse.scripts.seed_feeds --file docs/feed_seed_vc_ai.json
python -m podpulse.main

Frontend setup

cd /Users/simon/Documents/PulsePod/frontend
npm install
npm run dev

Standard commands

  • Backend run: python -m podpulse.main
  • Frontend dev: npm run dev
  • DB migrate/init: python -m podpulse.migrations
  • Seed default podcast list: python -m podpulse.scripts.seed_feeds --file docs/feed_seed_vc_ai.json
  • Tests: cd backend && pytest -q
  • Pipeline run once: python -m podpulse.workers.pipeline

Notes

  • API docs: http://127.0.0.1:8000/docs
  • Frontend expects VITE_API_BASE_URL (defaults to http://127.0.0.1:8000)
  • Transcription defaults to parakeet-mlx (local Apple Silicon ASR) on Python 3.11+.
  • Override Parakeet model with PARAKEET_MODEL in .env if you want a different local ASR model.
  • Long episodes are chunked for Parakeet by default (PARAKEET_CHUNK_DURATION_SECONDS, PARAKEET_OVERLAP_SECONDS) to avoid Metal memory errors.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors