Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
Studio creates demand. Relay captures it. One growth loop where AI prepares and people make the move.
MarketingTypeScript · HTMLGitHub @aneebiqbalOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Internal lead-gen operations system for bpulse (work codename: Relay). Runs the
Calibrate -> Extract -> Score -> Draft pipeline end to end, with scoring as pure
arithmetic (zero model tokens) and a single AI call per lead at draft time.Read the full README ↗Internal lead-gen operations system for bpulse (work codename: Relay). Runs the Calibrate -> Extract -> Score -> Draft pipeline end to end, with scoring as pure arithmetic (zero model tokens) and a single AI call per lead at draft time.
no or dead is locked for everyone, forever (app-level
fuzzy check plus a DB unique index backstop).GROQ_API_KEY to use the real models, or run without it and
the deterministic demo paths cover the whole loop.supabase/migrations and set
the env vars below.All model calls go through src/lib/ai/routing.ts -> config.ts; no feature
code names a model id. By default:
openai/gpt-oss-20b (override SCOUT_EXTRACT_MODEL).openai/gpt-oss-20b.openai/gpt-oss-120b and self-checks in the same call.Override with SCOUT_CHEAP_MODEL / SCOUT_STRONG_MODEL. Free-tier Groq rate
limits are handled by a backoff queue that reports "queued, drafting shortly"
instead of failing the draft.
pnpm install
cp .env.local.example .env.local # edit as needed
pnpm dev
To move to Supabase mode:
# 1. Point .env.local at the hosted project (URL + anon key).
# 2. Push the schema, RLS, and seed migrations:
supabase link --project-ref <your-project-ref>
supabase db push
# 3. Create the dev auth users via the GoTrue admin API
# (raw SQL auth inserts can break hosted sign-in):
SUPABASE_SERVICE_ROLE_KEY=<service-role-key> node scripts/seed-dev-users.mjs
# 4. Link reps to those users (idempotent by email):
supabase db push # applies pending linking migration if not already
Dev users: [email protected], [email protected] (admin), [email protected],
[email protected], password scout-dev-password.
pnpm dev # dev server
pnpm build # production build
pnpm lint # eslint
pnpm exec tsc --noEmit # typecheck