Full-stack software developer with experience in Javascript, Node, Electron, React, browser extensions, web development, Ruby, Rails, Python, C++, C, Arduino, and Java.
October 2023 - Present
Bellingcat is an independent international collective of researchers, investigators and citizen journalists using open source and social media investigation to probe a variety of subjects. As a software developer at Bellingcat, I work on developing and maintaining web apps and APIs to support researchers in their investigations. This includes interfaces for archiving of social media and websites, image analysis, other online research tools.
March 2021 - May 2021
Awala is a suite of apps combined with a backend service which enables the secure transmission of network traffic from areas experiencing internet blackouts, blockages, and other forms of censorship. I produced the frontend of the desktop app for Awala using Electron and React while working closely with a backend engineer who developed the underlying encryption and transmission libraries.
April 2019 - March 2020
PhishDetect is an email-scanning browser extension that looks for malware indicators in received emails and generates warnings for the user as well as submitting the content to a server for further analysis. As an extension of the work I previously completed on Suspicious Email Submitter, I worked closely with he PhishDetect and MISP teams to integrate these tools as well as refactoring the PhishDetect UI to use modular React components.
January 2018 - September 2018
Developed and shipped extensions for Chrome, Firefox, and Thunderbird for submission of suspected-phishing emails to a backend malware data collection service known as MISP.
October 2014 - October 2017
Signal is an encrypted chat client aimed at making mass surveillance impossible. The Signal protocol represents the gold standard for end-to-end encrypted messaging on both mobile and desktop platforms, and is now integrated directly into multiple major social networks including WhatsApp, Facebook Messenger, and Google Allo. For two years, I was the sole developer of the desktop version of Signal. I performed extensive refactoring and maintainence of the javascript protocol library and built the front-end for the desktop app from scratch using Electron.
January 2014 - September 2014
EFF is a non-profit digital rights advocacy group combining activisim, impact litigation, and technology developement under one roof. As a member of the technical operations staff, I was responsible for web development in Ruby on Rails, Drupal, and Flask.
September 2011 - March 2013
Causes.com is an online platform for philanthropy and activism written in Ruby on Rails. As a software engineer I participated in full-stack web development, including front and back end feature development, production database migrations, and scaling to accomodate millions of users.
July/November 2010
Knifetanks.com presents a two-part web game series featuring a murderous sentient armored tank armed only with a giant knife. I served as the primary coder on both games, which represent one of my earliest forays into HTML and Javascript. The original game was prototyped in Java, then ported and finished in Javascript using Processing.js. Originally conceived as part of a one-day hackathon, each game was developed in approximately 24 hours.
November 2009 - June 2010
Mova is a 3D facial motion capture studio located in San Francisco. As the company's sole software developer at the time, I was responsible for maintaining and extending a collection of proprietary software written in C++ and Python, including programs for multi-camera video capture, 3D reconstruction, and distributed computing.
May 2008 - November 2009
OnLive is a real-time streaming video game service. As a member of technical staff I worked on the development of real-time client and server applications written in C++, with a focus on problems related to video encoding quality and network rate control.
Fall 2007 – Spring 2008
This senior project consisted of researching, developing, and implementing hardware-accelerated algorithms for the digital manipulation of photographs. Much of this work focuses on accurately recreating photographic effects traditionally produced by chemical and mechanical means, such as film grain and soft focus.
Summer 2007
Conducted ten weeks of research on constructing and rendering 3D maps from computer vision, with analysis of performance and aptitude for applications in robotics. This work resulted in a publication at the IASTED Conference on Intelligent Systems and Control.
Summer 2006
Solely responsible for administering the departmental email server. Shared responsibility for supporting the CS cluster and assisting faculty and students with departmental resources and services.
Spring 2005 – Fall 2006
Graded programming assignments and tutored students in Computer Science I and II.
Summer 2003 – Fall 2003
Assisted IT staff supporting Sykes Corporate Headquarters. Duties included imaging and testing laptops, software documentation, and hardware and software inventory. This was the first time the company had ever hired an intern who was still attending high school.
Class of 2008
Bachelor of Science in Computer Science.
Coursework included CS clinic, software development, game development, graphics, artificial intelligence, robotics, algorithms, logic, computability, programming languages, programming practicum, abstract algebra, discrete mathematics, digital and film photography, digital art, and game studies.
Scholarships & Awards: Dean’s List Spring 2007, Dean’s List Spring 2006, National Merit Scholar 2004, Robert C. Byrd Honors Scholar 2004