Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jade SDR Agent

Autonomous B2B sales development agent for FVM Studios — prospecting, enrichment, qualification, and outreach without a human in the loop for the grunt work.

Architecture map

Interactive, pannable version: open the architecture map

What it is

Jade is a persona-driven AI agent running on the Hermes runtime inside a Docker container on an Oracle Cloud ARM server. It works the top of the FVM Studios sales funnel end to end: finds companies, qualifies them, enriches contacts, writes personalized outreach, sends it from a dedicated studio address, and keeps ClickUp — the CRM of record — clean. Status: running in production.

Why I built it

FVM Studios is a video production and marketing studio. SDR work — researching prospects, finding verified emails, writing first-touch emails, logging everything in a CRM — is exactly the kind of repetitive, structured work that eats the hours I'd rather spend on client work. Jade does that pipeline continuously, and escalates to a human via ClickUp tasks when a lead needs judgment.

Architecture

The agent is defined in layers of markdown directives (mission, soul, identity, tool rules) that load on session start, plus a registry of ~22 focused skills. Reasoning runs on a local LM Studio model served over a private network — no cloud LLM dependency for core operation.

The mandatory pipeline, enforced in the tool directives:

Stage What happens Backed by
1. Discovery Find companies in target verticals Tavily
2. Qualification Score fit (Strong/Medium/Weak); drop Weak Tavily + Firecrawl (Scrapling fallback)
3. Enrichment Find and verify decision-maker emails Hunter.io
4. CRM entry Create lead record with source + qualification state ClickUp
5. Outreach Personalized 3-touch plain-text sequence + dated follow-up task SMTP from a studio address

Cross-cutting services: a shared exponential-backoff rate limiter for all API skills, a credential manager that masks keys in logs and validates them at boot, health diagnostics, a session-persistent sales memory file, and dated container backups of the persona/config for rollback.

Engineering highlights

  • Patched the email platform itself. Hermes hardcoded every outbound subject as "Hermes Agent" — a dead giveaway of automation. I patched the platform's email layer to extract the subject from the message body, strip markdown so emails read as plain human text, and only prefix "Re:" on genuine replies instead of every message.
  • Skill-bloat cleanup and a self-install lock. Given autonomy to install its own skills, Jade ballooned to 67 of them, most redundant. I audited and trimmed the registry to ~22 focused skills and locked skill self-installation behind human approval.
  • Scraping with a local fallback. Firecrawl handles structured extraction; when the API fails or rate-limits, the same helper transparently falls back to the local Scrapling library, so prospect research never stalls on a third-party outage.
  • Hard pipeline gates instead of vibes. The directives forbid skipping stages: no lead reaches the CRM without Hunter.io verification, and weak-fit prospects are dropped before any enrichment spend.
  • Human accountability by design. Every outreach creates a dated ClickUp follow-up task, so pipeline state lives in the CRM — not in the agent's context window. A sales-memory file carries qualified-lead state across sessions.
  • Local-first model serving. Core reasoning runs on a model served from LM Studio over a private network, which keeps prospect data off third-party LLM APIs and removes per-token cost from an always-on agent.
  • Guardrails against noisy autonomy. Shared rate limiting for 429s, credential masking in logs, boot-time key validation, and review-first defaults on anything that sends email through Google Workspace.

Stack

Layer Tech
Runtime Hermes agent platform, Docker, Oracle Cloud (ARM)
Model Local LLM via LM Studio (private network)
Research Tavily, Firecrawl (Scrapling fallback)
Enrichment Hunter.io
CRM / tasks ClickUp
Outreach SMTP (dedicated studio address), Google Workspace
Skills ~22 markdown skills + Python helper scripts

Status & roadmap

Running in production. WordPress inbound-chatbot intake is scaffolded but paused pending authentication. Roadmap: activate inbound website lead capture, deepen reporting summaries, and expand the creative-gen pipeline (ComfyUI / Higgsfield) for outreach assets.

About this repo

This is a public architecture showcase of a private production codebase. The source stays private; this repo documents how it's built.

— Godfred Aidoo · godfredaidoo.com · LinkedIn · more projects

About

Autonomous B2B SDR agent for FVM Studios — Hermes runtime, verified-lead-only CRM pipeline

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages