‹ What brings you here? Resume ↓
A 2-minute tour · best work + resume

Dylan McCavitt

Software engineer · Backend · AI.

In this tour
01
Some of my work 5 projects
02
Track Record Education & experience
03
Resume & contact The fastest way to reach me
Selected work · 1/5
bb

bella's beads

Shipped Shipped

freelance ecommerce: browse, pay, ship, track

CSRF protection, rate limiting, and HMAC token hashing throughout.

More on this

A full ecommerce platform for a handmade-jewelry business. Guest and authenticated checkout, order history, shipment tracking, saved addresses, and an admin dashboard for products and inventory.

React + TypeScript frontend, Node/Express backend, Postgres via Supabase, Stripe payments, Shippo shipping labels, Resend transactional email. Each one carries its own webhook patterns and failure modes, reconciled into one order lifecycle.

400+ commits to handoff
4 integrations: stripe · shippo · supabase · resend
2 checkout flows: guest + account
Selected work · 2/5
eg

evalgate

Building Agents & MCP

a safety check for AI assistants that catches bad behavior before it ships

Records a real session, then replays it the same way every time.

More on this

A tool that turns a real AI assistant session into a repeatable test. It records what the assistant actually did, step by step, then replays that run later to confirm the behavior still holds. When someone tweaks the assistant, this catches changes that quietly break it before they reach real users.

The idea: teams can watch what their AI does, but most have no way to fail a build when an edit makes it misbehave. evalgate is the missing safety check. The headline example wires it into a trading assistant, where rules like "never place an oversized order" become hard checks that stop a risky change before it can ever reach the broker.

record once replay as a repeatable test
every change checked before it goes live
v0.1 first release, building in the open
Source private
recorded session, step by step
replay run vs the saved baseline
checks that passed or failed
Selected work · 3/5
at

agentic-trader

Dry-run Agents & MCP

autonomous trading agent with deterministic guardrails; the strategy is a pluggable example

Runs unattended on launchd; no human in the loop at decision time.

More on this

An autonomous trading agent whose safety comes from deterministic, model-independent guardrails rather than from trusting the model. A scheduled headless Claude Code session wakes at 15:45 ET on weekdays, computes a signal, and trades through Robinhood’s official Agentic Trading MCP, with every order first clearing a deterministic gate that can block it.

The strategy (an RSI(2) mean-reversion rule) is a pluggable worked example; the project is really about the harness. In dry-run it journals every decision: intended entries, simulated fills, and the gate verdict that allowed or blocked each one. Going live is a config change.

15:45 ET scheduled run, weekdays
100% decisions journaled in dry-run
06·23 go-live date
Selected work · 4/5
tv

tradingview-mcp

WIP Agents & MCP

MCP server driving TradingView Desktop

Pine editor round-trip: write, compile, read errors programmatically.

More on this

An MCP server that drives TradingView Desktop from an agent conversation: chart whole stock universes, capture chartbooks, and round-trip Pine Script (set source, compile, read console errors back).

V1 is scoped to charting. No scanning, no execution.

5 stock universes configured
full pine compile round-trip
v1 charting scope
Source private
Selected work · 5/5
sl

slurmlet

WIP Infrastructure

an all-or-nothing scheduler that places big AI training jobs across a fleet of GPUs, built in Go and Python

All-or-nothing start: a job only runs once every GPU it needs is reserved, so none sit idle waiting.

More on this

Big AI training runs need many GPUs at the same moment: if even one is missing, the whole job stalls and the rest sit idle. slurmlet is the traffic controller that holds a job back until every GPU it asks for is free, then starts them all together, so expensive hardware never waits half-used while a run gets the machines it needs.

It is built twice, once in Go and once in Python, against one shared design, so the two implementations can be compared head to head on the same problem (and the trade-offs each language makes show up first-hand). Everything runs against a simulated fleet of stand-in GPUs, so the full lifecycle, scheduling a job, draining a machine, and rescheduling, is exercised without renting expensive hardware. The Go version is active; the Python version lands next.

2 parallel builds: go and python
all-or-nothing a job only starts when every GPU it needs is free
simulated fleet runs on fake GPUs, so no costly hardware
Source private
jobs waiting on a full set of GPUs
all-or-nothing scheduling logic
fleet lifecycle: schedule, drain, reschedule
The track record
2019 Syracuse University · B.S. Economics
2020 to 2023 Paul, Weiss · Practice Assistant, Private Funds
2023 to 2024 Kroll, Inc. · Associate, Cyber Strategy & Risk
2024 to 2026 Stevens Institute of Technology · M.S. Computer Science
2025 Manhattan Board of Elections · IT Support
2025 Bella's Beads · Freelance Full-Stack Developer
2026 to now Open to opportunities · Software engineer · agents, trading infra, iOS
The ask

That's the tour. If it's a fit, here's the fastest way in:

Download resume ↓ Email me GitHub ↗
That's the tour

Thanks for the time.

The full library has everything: every project, the resume timeline, and the live builds.

Continue to the full site →