# Superpitch

Superpitch is a local terminal app for triaging startup pitches.

It ships with a bundled seed model, scores pitches on your machine, keeps feedback in `~/.superpitch/`, and can retrain locally from that feedback. No hosted account is required for the core product.

The shipped scorer is Model A. Model B is the learned path that should get stronger as pitch volume grows. It can now use either an Apple-first MLX embedding backend or a cross-platform `sentence-transformers` backend.

## What It Does

Superpitch scores a pitch from `1-10`, predicts sub-scores for `team`, `traction`, `market`, and `risk`, then turns that into an `APPROVE`, `REJECT`, or `REVIEW` recommendation.

The app opens into a simple inbox, shows unattended pitches first, supports slash commands like `/add`, `/open 1`, `/approve 1`, and `/today`, and stores your corrections so the local model can be retrained later.

By default, Superpitch automatically retrains after `20` new feedback labels have accumulated.

## Install

One-command installer:

```bash
curl -fsSL https://raw.githubusercontent.com/eyoellundberg/superpitch/main/scripts/install.sh | bash
```

That installer currently installs from GitHub and auto-picks the right Model B backend for the machine.

Once PyPI is live, the same installer can switch over without changing the user flow.

Python `3.9+` is required.

For local development from this repo:

```bash
pipx install .
```

## Usage

Run the interactive app:

```bash
superpitch
```

Inside the app, type `/help` to see commands.

Score a file directly:

```bash
superpitch pitch.txt
```

Score from stdin:

```bash
cat pitch.txt | superpitch -
```

Manual retrain is still available:

```bash
superpitch-train
```

Train only the shipped model:

```bash
superpitch-train --skip-model-b
```

The installer picks the right Model B backend automatically.

Manual Model B setup on Apple Silicon with MLX:

```bash
pipx install --force '.[mlx]'
```

Enable Model B cross-platform with sentence-transformers:

```bash
pipx install --force '.[embeddings]'
```

## Local Files

On first run, Superpitch bootstraps its local working files into `~/.superpitch/`.

The important paths are:

- `~/.superpitch/models/latest.pkl` for the current local model
- `~/.superpitch/models/learned.pkl` for optional Model B weights when trained
- `~/.superpitch/data/train.jsonl` and `~/.superpitch/data/val.jsonl` for the bundled starter data
- `~/.superpitch/data/feedback.jsonl` for your corrections
- `~/.superpitch/data/history.jsonl` for scored pitch history
- `~/.superpitch/config.json` for local app and retraining settings

You can override the home directory with `SUPERPITCH_HOME`.

## Repo Shape

This repo is intentionally narrow.

The product code lives in `cli.py`, `train.py`, `prepare.py`, `model_a.py`, `policy.py`, and the `superpitch/` package. The packaged starter assets live in `superpitch/assets/`.

## Non-Goals For This Repo

This open-source repo is the local CLI product. It is not trying to be:

- a scraping pipeline
- a synthetic data generation lab
- a hosted SaaS backend
- a frontier-model dependency project

If hosted intake, billing, or sync ever ship, they should be added deliberately instead of leaving half-built product branches in the CLI.
