Professional Experience

Apollo.io

Senior Software Engineer / Tech Lead

July 2023 - Present

  • Created workflow trigger to automate followups when prospects do not attend sales calls; closed 1M USD gap in ARR
  • Improved latency of the Coaching Analytics module by 10x using Elasticsearch aggregations
  • Added integration between Conversations and Tasks to improve WAU metric
  • Lead company-wide initiative to adopt Sorbet type system; increased coverage from 7% to 35% in one year, resulting in significantly fewer bugs and higher developer velocity due to improved IDE type inference
  • Collaborated across teams to improve stability of Pre-Meeting Insights; reduced latency by 7x and error rate by 10x
  • Reduced cost of conversation recording storage by 100K USD / year
  • Increased conversation processing workflow success rate from less than 70% to over 95%
  • Prevented privacy/security issues by creating access policies for our DB entities
  • Created framework to generate an OpenAPI schema from Sorbet-annotated Rails controller methods
  • Heavily involved in code reviews to spread knowledge, encourage best practices, and catch performance/security issues
  • Defines high-level system architecture and reviews the team's engineering designs
  • Performs technical interviews and mentors team members to achieve IC-track promotions

Rails
Ruby
Sidekiq
Sorbet
React
MongoDB
TypeScript
Docker
Kubernetes
Grafana
Open Telemetry
New Relic

Amazon

Software Development Engineer II

Apr 2018 - June 2023

Project preview image for "Alexa, What Should I Watch?"
"Alexa, What Should I Watch?"
"What Should I Watch?" (WSIW) is a conversational Alexa skill for FireTV that recommends content to watch. Lead cross-functional team consisting of PMs, UX designers, and Alexa Platform engineers to create a new multimodal Alexa skill for FireTV.
The backend skill code was written using Java/Spring and was deployed on EC2, the UI was written using Alexa APL, and the dialog model was written using ACDL.

Other Notable Achievements
  • Collaborated with Amazon Music and external Spotify developers to unblock Spotify release on original FireTV Cube by adding support for full media control with Alexa
  • Worked with the Alexa Video team to enable playing a specific season and episode of a show using voice
  • Stress-tested FireTV services ahead of holiday traffic; zero p99 latency or error SLA breaches over the holidays
  • Interviewed and evaluated candidates across multiple technical and leadership competencies
Software Development Engineer

Aug 2016 - Apr 2018

  • Implemented auto-scrolling lyrics in Alexa Music UI on FireTV using Android RecyclerView and Media Session
  • Enhanced an Android service to relay media state to Alexa and facilitate seamless transport controls in 3P media apps
Software Development Engineer Intern

May 2015 - Aug 2015

  • Created a developer tool to help with analyzing Android log files.

Java
Spring
Alexa
Android
AWS
Rust

Box

Software Engineering Intern

Jun 2014 - Aug 2014

  • Created a web app for tracking incident retrospectives using the LAMP stack and a custom REST API.

Angular
PHP
MySQL
LAMP

Projects & Open Source

PGMQ (Collaborator; 5K Stars)
Message queue similar to AWS SQS but backed by Postgres.
  • Lightweight - No background worker or external dependencies, just Postgres and Rust
  • Guaranteed "exactly once" delivery of messages to a consumer within a visibility timeout
  • API parity with AWS SQS
  • FIFO (First-In-First-Out) queues with message group keys for ordered processing
  • Topic-based routing with wildcard patterns for publish-subscribe and content-based routing
  • Messages stay in the queue until explicitly removed
  • Messages can be archived, instead of deleted, for long-term retention and replayability
  • Completely asynchronous API

Rust
Postgres
Roadster
A "Batteries Included" web framework for rust designed to get you moving fast 🏎️. Inspired by other fully-featured frameworks such as Rails, Django, Laravel, and Loco.
  • Built on Tokio's web stack (axum, tower, hyper, tracing). App behavior can be easily extended by taking advantage of all the resources in the tokio ecosystem.
  • Provides sensible defaults so you can focus on building your app. Most of the built-in behavior can be customized or even disabled via per-environment configuration files.
  • Auto-generates an OpenAPI schema for routes defined with aide.
  • Built-in support for SeaORM and Diesel, including creating DB connections and running DB migrations.
  • Built-in support for Sidekiq.rs for running async/background jobs.
  • Structured logs/traces using Tokio's tracing crate. Traces/metrics can be exported using OpenTelemetry.

Rust
Sidekiq
Postgres
SeaORM
Diesel
OpenAPI
Open Telemetry
Project preview image for Mass Dissent
Mass Dissent
Mass Dissent is a website that provides an easy way to send a short message as physical mail to your representatives in the U.S. Congress. The site reduces the effort required to send a letter to an elected official, hopefully resulting in more people writing to their representatives regarding the issues they care about.

Next.js
React
Node.js
TypeScript
tRPC
Postgres
SQL
Rust
Stripe
Sendgrid
Supabase
Project preview image for Grouped Timers for Pebble
Grouped Timers for Pebble
A timer app for Pebble watches written in C that allows grouping timers into lists.

C
Pebble
MVC
Financial Transaction Processor
A simple CLI application written to transform transaction records of financial accounts to different formats for the purpose of importing into personal budgeting software.

Rust
GitHub Actions

Technologies

Rails
React
TypeScript
JavaScript
Rust
Java
Next.js
Python
C
C++
C#
Git
Android
AIDL
Linux
AWS
New Relic
GraphQL
tRPC
REST
Postgres
Supabase
SQL
MongoDB
Spring
Guice
Dagger
Mockito
TestNG
JUnit
Robolectric
Godot
Unity
GitHub Actions
IntelliJ
Pebble
Raspberry Pi
Jira