




Software
Senior Software EngineerIbotta, Inc
Aug 2024 - Present
- Designed and led company's first RBAC system, adopted by 6-10 apps across the org, governing granular permissions for campaign creation, data visibility, and user management
- Architected JWT-based authorization with Auth0, embedding roles for instant client-side permission checks, became the go-to reference for engineers and PMs company-wide
- Built org-scoped and global role architecture with pluggable feature access, letting new teams and micro-frontends adopt permissions without core rework
- Set up audit logging via AWS data lake events, tracking every permission change, this proactive investment paid off when the team needed to troubleshoot client-facing role and access issues after the fact
- Replaced manual NetSuite invoice request process with a self-serve S3 and Lambda-based portal, cutting delays in client payment, this became one of the company's four core strategic priorities ("boulders") for the year
- Built Lambda pipeline to extract invoice data on upload, storing it in DynamoDB for fast API-driven summaries before clients download the full document
- Set Next.js architecture standards and codebase structure across teams, including patterns that let AI coding agents reliably one-shot feature requests, this paid off when a user flow was decoupled into a brand-new app almost entirely written by AI end to end
- Prototyped agentic SDLC automation using GitHub Codespaces and Claude Code, auto-generating PRs from tagged tickets, and extended the same setup for designers and PMs to prototype directly in the repo
- Deploy and maintain Next.js micro-frontends on Kubernetes via GitHub Actions, Docker, ECS, and ArgoCD, including pod health checks and release pipelines
- Mentor 2-3 junior engineers, one mentee moved from significant imposter syndrome to independently tech-leading their own project in an unfamiliar language
AWS, Node.js, React, TypeScript, Next.js, PostgreSQL, Auth0
Principal Software EngineerGavalas Engineering (Consulting)
Jun 2022 - Aug 2024
- Architected greenfield video processing web app from scratch on Vercel, using Next.js, GraphQL (Apollo), PostgreSQL, and Supabase storage, processing roughly 100 videos per day for client
- Built full user management system with OAuth authentication, handling video upload, processing, and storage pipeline end to end, sole engineer owning architecture, backend, frontend, and infrastructure
- Designed AWS infrastructure for a tabletop game client, including DynamoDB schema, API Gateway, and Lambda functions for data access, with Stytch for authentication
- Built automated options trading bot executing back-tested strategies from Option Omega verbatim, running on a self-managed EC2 instance with scheduled start/stop via cron
- Implemented health checks and automated monitoring for the trading bot, with post-run stats comparing live execution against back-test results to track slippage
- Traded live for nearly a year using the system, influencing peers in a trading group, including an Option Omega engineer who built similar automated trading into their platform
Supabase, React, TypeScript, Node.js, Next.js, Tailwind CSS, Vercel, AWS
Principal Software EngineerHaldi
May 2021 - Jun 2022
- Migrated legacy Django/Firebase system (built by contractors, prone to sync issues) into standardized Next.js micro-frontends: admin, client-facing, and survey apps
- Set up authentication in Firebase from scratch, replacing direct front-end-to-Firebase calls with a unified GraphQL API layer
- Centralized business logic into a serverless GraphQL backend running on Firebase Cloud Functions, eliminating logic duplication and sync issues across apps
- Infrastructure held with zero outages or missed orders during company's first-ever Black Friday sale, a 10x traffic spike and the company's highest revenue day to date
React, TypeScript, Tailwind CSS, Firebase, Google Cloud, GraphQL
Senior Full Stack EngineerAmazon
Jul 2019 - Apr 2021
- Identified that team's data center monitoring app, hosted on 3 internal servers with no global or regional-access strategy, could be solved by migrating to AWS, championed and built the proof of concept solo despite no prior AWS adoption on the team or precedent within Amazon internally
- Architected full serverless migration: React app on S3/CloudFront with HTTPS, GraphQL API via Lambda handlers, replacing the legacy server-based backend
- Designed Cognito authentication synced to existing POSIX groups, letting regional access (e.g., Frankfurt vs. Dublin vs. DC) be managed through tooling teams already knew
- Set up Route 53 routing and CI/CD pipelines to deploy the app across multiple regions, successfully scaling it from a single 3-server footprint in Portland to every one of Amazon's global data center regions
- Built entire infrastructure as code using AWS CDK, standardizing deployment and onboarding of new regions across the org
- Became go-to internal expert on AWS adoption, consulted by engineers from other teams looking to migrate their own apps using the same approach
- Spearheaded adoption of a standard UI component library across the org, reducing duplicated UI engineering effort across teams
AWS, GraphQL, CDK, React, TypeScript, Node.js
Senior Software EngineerBest Friends Animal Society
Feb 2016 - Jul 2019
- Led team of 2 engineers customizing Blackbaud CRM (C#, MySQL) to extend pet and owner data models for internal use
- Replaced legacy Microsoft visual workflow tool with AWS Step Functions and Lambda handlers, rebuilding the pet data ingestion pipeline from third-party vendors into the company's data lake (via AWS Glue)
- Improved pipeline speed, error visibility, and developer velocity by moving ingestion logic from a visual flowchart tool to code-based Step Functions, first hands-on AWS work, setting the direction for later AWS-centric roles
C#, SQL, Angular, Ionic, Node.js, AWS
Senior Software EngineerStillman Advanced Strategies, LLC
Oct 2013 - Oct 2015
- Migrated Flash-based military training simulation client to AngularJS (v1), eliminating client-side setup friction and replacing a legacy plugin-dependent frontend with a browser-native one
- Evaluated mapping/tile engines (OpenStreetMap, Leaflet.js) for rendering classified custom military map tiles, built the simulation display on Leaflet.js integrated with AngularJS
- Built a hybrid game/web-app interface for military cadets and trainees to simulate battles and tactics, interfacing with a C++ simulation backend via API, well received by longtime users and military personnel during demos
AngularJS, Leaflet.js, C++
Senior Software EngineerGavalas Engineering (Consulting)
Nov 2008 - Oct 2013
- Built PHP/jQuery student training tracker for a flight school, tracking curriculum progress and training milestones across students
- Developed custom WordPress plugins enabling non-technical staff to self-manage "About Us" and employee bio content
- Maintained active software consulting practice while working full-time as a commercial airline pilot
PHP, jQuery, WordPress
Lead Software EngineerElectronic Arts, Inc
Oct 2003 - Nov 2008
- One of three engineers porting NBA Street from original Xbox to PSP (C++), sole engineer on the ShotBlocker minigame
- Joined Battle for Middle-earth II as audio engineer with no prior audio background, ported the full audio engine from PC to Xbox 360 (C++)
- Took over as lead UI engineer on Battle for Middle-earth II's struggling UI (1,000+ open bugs, slipping ship date), drove the bug count down and shipped a stable, polished UI
- Lead UI engineer on Command & Conquer 3, prototyped and shipped a well-received radial UI interface, led the UI team for the full project
- Pivoted into 3D graphics engineering on Red Alert 3, writing shaders and shader assembly (C++) and building internal tools to speed up the map/scenario creation pipeline (C#)
- Shipped 4 titles in 5 years across audio, UI, and graphics engineering disciplines
C++, ActionScript, Flash, C#
Software EngineerPorrazzo Strategic Technologies, Inc.
Jun 1999 - Jan 2001
- Built 3D DirectX demo (C++) showcasing a novel speaker-as-capacitive-input device, translating hand movement into 3D object manipulation for company demos
- Wrote custom input-handling code to read raw hardware signals from the device before any driver existed
- Developed a Windows device driver (Win32 API, some assembly) to translate the hardware's signals into standard game controller input, letting the device plug in and work like a normal joystick
C++, DirectX, Win32 API, Assembly
Software EngineerPersonal and Academic Project
Oct 1998 - Apr 2002
- Reverse-engineered the NES's 6502 CPU from limited public documentation, writing a full instruction-level emulator in assembly, with live disassembly, register inspection, and memory read/write tracing
- Built a scanline-based graphics engine in C/C++ and DirectX to emulate NES rendering
- Designed a plugin architecture (DLLs) for cartridge memory mappers, letting each custom mapper chip be implemented independently without modifying the core emulator executable
C/C++, Assembly, DirectX
Aviation
First OfficerRepublic Airways Holdings, Inc.
Oct 2012 - Oct 2013
- Safely operate passenger aircraft in a variety of challenging environments
- Dash-8 Q400 Type Rated pilot with an ATP License
- Experience in high altitude mountain flying
Dash-8 Q400
First OfficerAmerican Eagle Airlines
Feb 2011 - Oct 2012
- Performed the duties of a First Officer flying the Embraer 135/140/145
- Often praised for exceptional piloting abilities from Captains
- Perfect attendance
Embraer 135/140/145
Flight InstructorAngel City Flyers, Inc.
Mar 2009 - Feb 2011
- Trained students in flight and in the classroom to become certified pilots
- Aircraft used for training: Diamond Star and Diamond Twinstar
- Heavy focus on multi-engine instrument training
- Taught students the G1000 and its flight management system
Diamond Star, Diamond Twinstar, G1000
