# kol-pricing **Repository Path**: cellinlab/kol-pricing ## Basic Information - **Project Name**: kol-pricing - **Description**: Open-source KOL pricing & outreach tool. Paste an X handle → tier-classified pricing + DM in 5s. Crypto-native. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-26 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KOL Pricing Paste an X handle, get a tier-classified pricing recommendation + outreach DM in 5 seconds. Open-source. Crypto-native. Framework by [@antoniayly](https://x.com/antoniayly). ![Screenshot — replace with your own](docs/screenshot.png) --- ## What it does 1. **Pulls a public profile** off X (Twitter) via the API v2. 2. **Classifies the KOL** into one of 5 crypto-native tiers: Trader, NFT/Creator, Builder, Influencer, Mass-reach — plus a Tool-Builder overlay. 3. **Suggests collab type + cash range + ROI** based on tier, engagement, and your audience config. 4. **Drafts an outreach DM** that quotes one of the KOL's actual recent tweets, using Claude. 5. **Remembers what you analyzed**, locally in your browser (no server-side database). You configure two things before you deploy: - **`config/product.ts`** — your product name, pitch, LTV, etc. Used in DMs and ROI math. - **`config/ideal-kols.ts`** — which tiers you'd pay for, follower / engagement floors, optional bias keywords. The pricing tables (`src/lib/pricing.ts`) ship with sensible defaults — edit them to match your market. --- ## Setup You'll need: - [Bun](https://bun.sh) 1.x - An [X / Twitter API v2 Bearer Token](https://console.x.com) - An [Anthropic API key](https://console.anthropic.com) (for DM generation; the rest of the tool works without it) ```bash git clone https://github.com/Antoniaiaiaiaia/kol-pricing.git cd kol-pricing # Configure cp .env.local.example .env.local $EDITOR .env.local # paste X + Anthropic keys $EDITOR config/product.ts # fill in your product $EDITOR config/ideal-kols.ts # pick preferred tiers bun install bun run dev # web on :5173, api on :3001 ``` Open . ### Build / test ```bash bun run build # vue-tsc + vite build bun run typecheck # vue-tsc only bun run test:classifier # unit tests ``` --- ## Deploy This repo is set up to run **locally only** — no `vercel.json`, no Vercel adapter. If you want it on the web, you have three lightweight options: ### Option A — Same machine, expose a port ```bash bun run dev # then tunnel via Cloudflare / ngrok if you want it shareable ``` ### Option B — Containerize Write a 5-line Dockerfile that runs `bun install && bun run build && bun run start`. Add a `start` script that serves the built `dist/` + boots `server/index.ts`. ### Option C — Vercel / Netlify / Cloudflare Convert `server/index.ts` to a serverless function for your platform. For Vercel: drop a file at `api/[...path].ts` that re-exports the Hono app via `hono/vercel`. Set `X_BEARER_TOKEN` + `ANTHROPIC_API_KEY` as platform env vars. See the [Hono Vercel guide](https://hono.dev/docs/getting-started/vercel) — works in ~10 lines. This is intentionally not done for you, because keys + deploy cost are yours to manage. --- ## Tiers | Tier | What it captures | Default top pick | |---|---|---| | **T** — Trader | Active on-chain / DEX / perp / TA content | Activity / Leaderboard | | **N** — NFT / Creator | Collections, art, drops, curation | One-shot | | **B** — Builder | Engineers, OSS authors, infra | Long-term Ambassador | | **I** — Influencer / Research | Threads, theses, narrative-setting | One-shot | | **M** — Mass-reach | 150k+ generalists | One-shot (locked from activity/ambassador/affiliate) | | **+E** — Tool Builder (overlay) | Visible OSS / dev-tool work | Stacks on T/N/B/I — boosts cash 20% | Default conversion rates and cash ranges live in `src/lib/pricing.ts`. Override them for your market. --- ## File map ``` config/ product.ts # your product info (you edit) ideal-kols.ts # your preferred tiers + floors (you edit) src/ lib/ classifier.ts # keyword-based tier classifier pricing.ts # reference pricing matrix + ROI math viewModel.ts # backend → UI shape mapping records.ts # localStorage-backed history pages/ Home.vue # paste-an-handle screen Result.vue # full analysis screen Records.vue # local history table components/ # UI primitives + result composites server/ app.ts # Hono routes index.ts # Bun runner (port 3001) xClient.ts # X API v2 fetch wrapper dmGenerator.ts # Anthropic call for DM personalization ``` --- ## Caveats - **X API is metered.** Free tier ≈ 100 lookups/month. Each lookup = 1 user fetch + 1 tweets fetch ≈ 2 requests. Plan ahead. - **No cache.** Every lookup re-hits X. If you analyze the same handle 5 times in an hour, that's 10 X requests. The original internal version had a 30-min cache via SQLite; that was stripped here so the public deploy doesn't need a database. - **No PII protection.** This is a tool for analyzing public X profiles. The DM templates land in your clipboard — they're never logged. - **DM generator costs $.** Claude Haiku 4.5 at ~$0.01–0.02 per DM. If you don't set `ANTHROPIC_API_KEY`, DM generation silently no-ops and the rest of the tool still works. --- ## License MIT.