A Phoenix LiveView platform for the live-music industry. It ingests offers and deal-memo PDFs, pulls tour routing from Ticketmaster and Bandsintown, scores promoter demand signals, and runs fan-facing storefronts — the tooling I wished existed when I was booking shows.
Offer and deal-memo PDF ingestion with structured extraction, turning unstructured contracts into queryable deal terms.
Tour-date aggregation across the Ticketmaster and Bandsintown APIs.
Promoter demand-signal scoring to rank markets and routing options.
Hold optimizer for resolving competing venue holds on the same date.
Fan commerce and artist storefronts.
Elixir
Phoenix
LiveView
Oban
PostgreSQL
Fly.io
Private source
spinbook
A betting engine for Beyblade.
A real-time wagering app built to push OTP where it is strongest. Each match runs its own GenServer bookie process, recalculating odds as bets land and broadcasting them over Phoenix PubSub so every connected client stays in sync without a page refresh.
Per-match GenServer bookie engine isolating each match's state and betting pool.
Live parimutuel odds recalculation broadcast over Phoenix PubSub.
Leaderboard with an achievement badge system.
Elixir
Phoenix
LiveView
GenServer
PubSub
Tailwind CSS
Private source
goblin
A Discord bot that turns group chat into a published blog.
Friends drop music and film recommendations into a Discord channel; goblin reads the threads, resolves them against Spotify and Letterboxd, and publishes curated lists through a Wagtail CMS. An excuse to work outside the Elixir ecosystem for a while.
Ingests and parses Discord threads for shared media links.
Resolves links against the Spotify and Letterboxd catalogs.
... It's basically Tinder for dogs
hot dogs for all dogs!
An app just for fun — who doesn't love cute dog pictures on the internet. A native SwiftUI card stack where you swipe right with a hot dog emoji and swipe left by throwing a bone, backed by Firebase with a Phoenix service for photo moderation. Built to learn the iOS toolchain end to end.
SwiftUI swipe-card stack with match and chat flows, backed by Firestore.
Hot-dog and bone swipe actions, with a Hot Dog Hotness score that earns a reward at 100 likes.
Own the order-fulfillment integration layer end to end — 100% of company order volume, roughly 6,100 orders a year — routing across ShipStation (REST/webhooks), LINX (SOAP), and FulfillEngine with idempotent submission and reconciliation, plus the shipment-tracking pipeline that notifies customers on ship.
Led the platform's AWS migration: containerized the Elixir/Phoenix app, stood up a full parallel staging environment on ECS and RDS managed by Terraform with cost controls, and cut traffic over to it. Built a CloudWatch reporter on Oban queue depth to drive ECS auto-scaling under queue pressure.
Built the company's observability stack from scratch — structured Slack error alerting with rate-limited grouped threads, PII redaction in production logs, and CloudWatch metrics — surfacing a class of integration failures that had been failing silently.
Closed a critical disaster-recovery gap with automated production database backups, taking recovery point objective from unbounded to a fixed window, plus prod-to-local restore tooling that is now the team's standard debugging workflow.
Bootstrapped and own the Phoenix LiveView commerce platform used daily by operations — inventory ingestion with dry-run diffs, SKU launch automation, per-decorator fulfillment dashboards, demand forecasting with at-risk SKU detection, and per-SKU margin reporting — replacing SSH-into-production console workflows with self-serve tooling.
Designed an automated hold/release system for embroidery orders: orders missing production files are held back from decorators, operations is alerted via Slack, and orders auto-release on file upload — eliminating a class of silently failed orders and the manual resend work around them.
Mastercard
Boston, MA
Joined via the SessionM acquisition; promoted twice.
Senior Software Engineer
Engineered microservices for the SessionM Loyalty Platform, reliably handling 100M+ daily requests.
Served as Ruby Guild Lead, running technical discussions across engineering teams to drive best practices, code quality, and alignment on standards.
Cut critical incidents 40% by instrumenting client environments with CloudWatch and SignalFx and tightening the on-call loop.
Software Engineer II
Scaled the catalog management system to support substantially larger SKU assortments across client tenants without degrading catalog query performance.
Acted as Technical Product Owner — led agile ceremonies and translated between engineering and product to align technical priorities with roadmap goals.
Refactored the GraphQL API to enforce per-field access control and close platform security gaps.
Associate Software Solutions Engineer
Core member of the engineering SWAT team, diagnosing and resolving high-priority production incidents across client deployments.
The Kurland Agency
Boston, MA
Director of Information Technology and Innovation
Owned agency-wide technology and internal tooling for a talent agency representing jazz, world, and blues artists.
Associate Agent
Negotiated engagements and drafted performance contracts for touring artists.
Education
Boston University — Certificate in Computer Science2017
Northeastern University — B.S. Music, Minor in Business Administration2013