Portfolio
Agents I've built,
and what actually runs.
A sample of autonomous agents I've built and shipped with Claude Code. Each one below lists what it does, the infrastructure it runs on, and the systems it works across. Where I have live operating data, it's here. Where something is on the roadmap, it's labelled as roadmap. Client work is described generically to protect confidentiality; TradeSavvy is my own product and is named.
Confidential client engagement
An autonomous revenue-operations agent suite
Five agents built for a growth-stage business, each owning a stage of the revenue lifecycle from first contact to long-term account care. They run on their own schedule, make their own next-action decisions, and route anything that needs a person to a human queue. Systems are named by category rather than brand.
01 Prospecting and Enrichment Agent
Finds and qualifies net-new leads without a human in the execution loop.
Discovers target companies market by market, finds and verifies a decision-maker's email for each, checks every prospect against the CRM before spending on enrichment, scores fit against an ideal-customer model, and drip-feeds only qualified, net-new leads into the pipeline. Runs on a governed off / shadow / live unlock, with hard per-provider and total spend ceilings that fail closed.
Stack
PythonCloud VM (EC2)PostgreSQL / SupabaseOperator-editable config storeCronWeb dashboardClaude Code
Integrates
Business-listing discovery APIContact-discovery providersEmail-finding servicesEmail-verification serviceCRM
02 Lead-Engagement Agent
Runs top-of-funnel outreach and hands warm replies to a human.
Runs a multi-touch outbound sequence to newly sourced prospects, driving each toward a single clear call to action. It decides each lead's next action, respects cooldowns and hold rules, detects genuine replies and escalates them, and enforces opt-out and suppression compliance before every send. An atomic, once-per-contact-per-day send-claim makes duplicate sends structurally impossible.
Stack
PythonCloud VMState databaseCronClaude Code
Integrates
CRMEmail channel (per-persona mailboxes)Email-validation serviceTeam-chat alerts
03 Sales-Conversion Agent
Advances prospects through a multi-stage pipeline and pauses on reply.
Sends the right stage-appropriate touch at the right time across the sales pipeline: pre-meeting confirmations, post-conversation follow-ups on a defined cadence, no-show recovery, active-client nurture, and a continuous rotating re-engagement loop. It routes each send from the correct owner's mailbox, pauses the moment a customer replies, and escalates that reply to a human.
Stack
PythonCloud VMState databaseCronClaude Code
Integrates
CRM (pipeline, owners, timeline)Multi-mailbox email channelTeam-messaging channel
04 Account-Management Agent
Keeps post-sale relationships warm without an account manager driving each touch.
Reads each active account's ordering pace, maps it to a lifecycle stage (ahead, on-pace, overdue, rescue, dormant, graduated), and dispatches the stage-appropriate outreach, layered with event triggers like milestones and order thank-yous. It runs a 29-day, six-variant win-back loop for dormant customers and escalates at-risk accounts and genuine replies to a human.
Stack
PythonCloud VMState databaseCronClaude Code
Integrates
CRM (pacing stages, timeline)Email channelTeam-messaging channel
05 Listing-Media Ingestion Agent
Turns a manual vendor-dashboard polling loop into automated status ingestion.
Watches a shared mailbox for media-delivery and tour-status notifications, classifies each message into one of several status types, and extracts the property address, the tour identifier, and the delivered floor-plan image attachments, so downstream systems can see media readiness without staff logging into a vendor dashboard to check. Ingestion is idempotent and append-only: every message is processed exactly once, writes are isolated per message, and a self-recovering run-lock prevents overlapping cycles.
Stack
PythonDockerCloud VM (EC2)PostgreSQL / SupabaseCronGitHub Actions CI/CDClaude Code
Integrates
Mailbox API (inbound status email)Work-order platform (webhooks)Image / attachment store
Personal product: tradesavvy.io
TradeSavvy
A crypto signal and analytics platform I built solo, end to end, with Claude Code. It is a signals, analytics, and paper-trading product, and I describe it as exactly that.
Signal generation, outcome tracking, analytics
tradesavvy.io
Runs five technical-analysis methodologies (a weighted multi-indicator composite, Smart Money Concepts, Elliott Wave, price action, and a trend model) across multiple timeframes, generating buy / sell / hold signals with a 0 to 100 confidence score and a full setup: entry, stop, take-profit ladder, risk-reward. It pushes signals as alerts to a messaging channel and automatically tracks the outcome of every signal it issues, labelling each one win, loss, or neutral against later price action and computing live accuracy analytics by methodology, conviction, and signal type.
Stack
React / TypeScriptFastAPI (Python)Supabase (Postgres + RLS)RailwayClaude Code
Integrates
Market-data feeds (primary + fallback)Messaging / alert channelAuth layer
What runs through all of it
Autonomous, safe, and honest about scope
Autonomous, not assistive. These agents run on their own schedule and make their own next-action decisions. A human sets the guardrails and handles genuine replies; the agent does the rest.
Safety engineered in, not bolted on. Atomic anti-duplicate send-claims, fail-closed spend and compliance gates, idempotent append-only writes, self-recovering locks, and a governed off / shadow / live rollout on every agent that sends or spends.
Human-in-the-loop by design. Every agent detects the moments that need a person, a reply, an at-risk account, an uncertain classification, and routes them to a queue rather than guessing.
A note on the numbers. The figures on this page are drawn from live run data. Where an agent has no confirmed production metric yet, I have not invented one, and capabilities still in build are marked as roadmap. If you want to see how any of this is built and verified, the
methodology page walks through it.