No live-trading Portfolio - ClaudeSavvy

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.

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.
RemovesManual market list-building, decision-maker research, pre-send email verification, "already a customer?" de-duplication, lead scoring, and throttled data entry into the CRM.
Proven live738 contacts attempted, 164 verified-deliverable (22.2%) at $0.09 each over a 21-day window. Pre-spend CRM suppression cut wasted enrichment from roughly 55% to zero across 118 checks, no false positives.
DashboardLive enrichment and push funnels, per-provider yield and spend, bench segmentation (ready / cooling / dead).
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.
RemovesManual sequenced outreach, follow-up scheduling and cadence tracking, list hygiene and deliverability checks, opt-out and compliance handling, duplicate-send guarding, and first-pass reply triage.
DashboardShared four-tab model: live activity and success metrics, an analytics view for deep-diving every action, a human-in-the-loop re-engagement queue, and a configuration tab for tuning parameters.
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.
RemovesManual per-stage follow-up across the pipeline, per-email composition, inbox monitoring and manual pausing on reply, per-owner mailbox selection, and duplicate-deal suppression.
DashboardThe shared four-tab model: activity and success metrics, analytics, a re-engagement and human-in-the-loop tab, and configuration.
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.
RemovesScheduled account check-ins, order and milestone acknowledgements, coverage-gap outreach, dormant-customer win-back, and reply triage.
Proven live180 customer touches sent month-to-date from the action log; a one-time graduate re-engagement sweep delivered 8 of 8 courtesy touches cleanly, one per contact.
DashboardThe shared four-tab model, with lifecycle-stage and re-engagement-variant progression on the activity and analytics views.
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.
RemovesThe recurring manual "log into the vendor dashboard to check whether the tour rendered and the floor plan is ready" loop across a high daily job volume, plus manual downloading of delivered media.
Live statusThe ingestion and classification pipeline is in production and self-driving, polling on a schedule and extracting from live mail with zero errors.
RoadmapAutomated visual QA of the floor-plan media against a defined check set, and the four-tab operations dashboard. Both designed and specified, build in progress.
Stack
PythonDockerCloud VM (EC2)PostgreSQL / SupabaseCronGitHub Actions CI/CDClaude Code
Integrates
Mailbox API (inbound status email)Work-order platform (webhooks)Image / attachment store

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.
RemovesManual multi-methodology chart analysis across coins and timeframes, watching for entries and exits by hand, and manually judging whether past calls worked.
OptimizerA dual-loop optimization engine logs and scores every signal against later price action, then runs the strategy's parameters, both the breakout-bot config and the per-methodology signal parameters, through many rounds against roughly four years of trade history to generate improvement proposals, each with its reasoning and the exact parameter changes. Every proposal is approved or rejected by me with a recorded reason; approved changes are applied and version-stamped, so the live strategy never changes without my sign-off. Built and proven in use, currently paused while my focus is on client work.
DashboardPaper-trading operations view: portfolio value and equity curve, open positions, a per-coin watchlist with a sub-tab per methodology, a performance tab (win rate, profit factor, drawdown, Sharpe), a signal-accuracy and signal-log view with CSV export, and the optimizer's run history and proposal queue.
ScopeA signals, analytics, and personal trading platform.
Stack
React / TypeScriptFastAPI (Python)Supabase (Postgres + RLS)RailwayClaude Code
Integrates
Market-data feeds (primary + fallback)Messaging / alert channelAuth layer

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.

Have a process that should be running on its own?

If your team is doing by hand what an agent could handle, or you have a product idea that has been stuck in a doc, tell me what you are trying to figure out. The first conversation is informal and free.

Get in touch