About Me
I'm a software engineer at Circle Optics, specializing in high-performance imaging systems, computer vision algorithms, and camera calibration technologies.
In my free time I train for marathons and other road races with the Philadelphia Runner Track Club (PRTC). I also love backpacking in the woods with my friends.
Education
Georgia Institute of Technology
Master of Science in Computer Science
Concentration in Computational Perception and Robotics
Advanced Algorithms, Machine Learning, Computer Vision, Artificial Intelligence
Case Western Reserve University
Bachelor of Science in Computer Science
Varsity Track & Field and Cross Country
Experience
Circle Optics
Rochester, NY
Software Engineer - Imaging Science
- Wrote high-performance c++ camera control software able to capture and process images at 20 Gigabits per second
- Developed proof of concept processing pipeline to validate 360 camera system’s advantages for 3D reconstruction including SIFT and SURF feature detectors and a YOLO model for detecting and masking out the camera operator
- Benchmarked, evaluated and integrated vendor camera sensors and SDKs for new product lines into custom software suite
- Leading effort to port Microsoft Visual Studio C++ codebase to embedded linux compatible cmake build system
Software Engineering Co-Op - Imaging Science
- Wrote algorithm for focusing a novel lens assembly by evaluating captured images of MTF targets in Python and C++
- Benchmarked and evaluated vendor camera sensors and SDKs for new product lines using custom software suite.
- Researched and implemented state of te art Detect and Avoid algorithms leveraging CUDA with proprietary camera system
- Developed method for calibrating novel telescope camera system at short range
- Wrote REST API in Rust for controlling camera system, monitoring temperature and alerts
Eaton
Cleveland, OH
Software Engineer
- Rewrote in-house pay statement application to support divesting employees and provide uninterrupted access to pay info
- Modernized SDLC with a testing suite, automated deployment with Jenkins and migration to Bitbucket and Git
- Automated scorecard metric collection for weekly platform scorecards with Python, shell scripts and AppPulse's open API
- Wrote new features for and maintained corporate intranet sites, public facing site, and supplier facing sites in Java on Oracle and Adobe platforms
- 1st place in internal hackathon to prototype machine powerdraw monitoring and supervisor alert system.
IT Functional Analyst and Project Manager in Leadership Development Program (LDP)
- Led contact center reporting refresh during platform upgrade to improve dashboard and metric effectiveness
- Deployed, configured and led testing for 22 Cisco Contact Center deployments in the US, Europe and Asia
- Nominated to be campus recruiter, manager for summer intern and mentor for first year ITLDP
Summer IT Intern
- Led Windows 10 compatibility testing for over 400 manufacturing plant applications
- Designed and implemented physical plant inventory scheduling tool using Visual Basic; still in use 6 years later
Texas Tech University Department of Computer Science
Lubbock, TX
Researcher, NSF Research Experience for Undergraduates
- Storing and querying large network traffic datasets with Apache Hive in order to predict network attacks
- 200-400% speed improvement on queries comparing Apache Hadoop, Apache Hive, SQL and Wireshark
- Proposal presentation, progress reports and poster session to lab mentor, graduate students and professors
Projects
Projects organized by course. Click on a course to view related projects.
More coming soon (Last updated Apr 3, 2025)
CS 6476: Computer Vision
-
Problem set: Fourier Transform
Implementation and exploration of the Discrete Fourier Transform. Demonstrating it's effectiveness for image compression.
-
Problem set: Projective Geometry, Corner Detection, Homographies
A problem set using Harris corner detection to demonstrate projective geometry. By detecting fixed locations on a wall and seeing the wall from different perspectives, we demonstrated transforming a simple image from one plane to another.
-
Problem set: Optical Flow & Motion Detection
A problem set using Hierarchical Lucas and Kanade for computing optical flow. Using this implementation, we estimated motion in a series of images and tried to interpolate intermediate frames.
-
Problem set: Particle Filters, Kalman Filters and Object Tracking
A problem set using particle and Kalman filters to track pedestrians in a series of videos. Needed to maintain track when camera was moving and after occlusions.
-
Problem set: Object Detection
A problem set implementing face recognition using principal component analysis (PCA), (Ada)Boosting and the Viola-Jones algorithm. Investigated the pros & cons of the various techniques and inherent difficulty of face detection.
CS 6475: Computational Photography
-
Panorama
Align and stitch together a series of images into a panorama. Assumes we were given corresponding keypoints between 3 images. This was an assignment to learn about homographies, warping and image blending.
-
High Dynamic Range Imaging
This assignment was about learning the core algorithms behind computing HDR images based on the paper Recovering High Dynamic Range Radiance Maps from Photographs by Debevec & Malik.
Technical Skills
Languages: Python, C++, Java
Frameworks & Libraries: PyTorch, OpenCV, NumPy
Tools & Platforms: Windows, Linux, Nvidia Jetson, Visual Studio, Git, Cmake