About Me

Hello! I’m currently earning my Master of Engineering (MEng) degree in Electrical and Computer Engineering (ECE) at Cornell University, and I like to call myself a developer, leader, and learner.

I like learning new things by tackling different challenges. I’ve gained skill in mobile/web development, embedded systems, and data visualization through previous internships, hackathons, and class projects by applying data structures, algorithms, and object-oriented principles. I've grown to be an effective leader and communicator as a result of my experiences as an officer at various STEM clubs, a graduate teaching assistant , and a major contributor to several group projects.

By the completion of my degree in December 2019, I aim to be a full-time Software/Systems Engineer or Technical Program Manager to improve my technical and leadership skills to build scalable, robust tech solutions.

Skills



Fall 2019 Coursework: Technical Management, Applied System Engineering, Random Signals

Relevant Background: Machine Learning, Design with Embedded OS, Advanced Microcontrollers, Data-Driven Web Apps, Computer Security, Database Systems

Engineering

Full-Stack Development, Data Structures, Object-Oriented Programming, Data Visualization

Git, Agile, Linux/Unix, Windows

Communication, Leadership, Technical Writing

Programming

Python, Kotlin, C/C++, Verilog, Java

HTML5, CSS3, JavaScript

Libraries, APIs, Frameworks

jQuery, NumPy, PyGame, Keras Tensorflow, D3.js

Google Maps Platform, AWS-Amplify

Bootstrap 4, Flask, OpenCV

Back to the top

Project Showcase


Technical Projects

MEng Design Project: Acoustic Localization and Tracking via Machine Learning

Abstract: For our project, our goal is to track users in a room using an array of microphones. To do this, we first model a room with echoes, and we populate this room with users and microphones. We extract information from this modelled room to create a so-called channel state information (CSI) matrix. Depending on the application, we use a supervised or an unsupervised deep learning model to learn the channel from the CSI matrix. If the goal is to predict user locations in cartesian space, we use the supervised model. If we want to learn the channel itself, we use the unsupervised model. Though a lot of research in localization has been done in RF communication, we use acoustic communication to further understand its merits, its workings, and its negatives to hopefully expand a field in ECE.

Web Apps

Visual Data Analytics for the Web
April - May 2019

US Air Pollution in the 2000s

Interactive web application that uses a US map and line graph to visualize total population and air pollutant concentration of different states from 2000 to 2016 (3-person team)

I condensed ~2 million rows of data to ~130k by filtering out redudancies in dates and eliminating irrelevant columns

I designed and implemented the interactive line graph that calculates the percent difference between the air pollutant concentration of a user-chosen state and the national average at a given time (via mouse hover).

Link Code
Cornell Hospitality Hackathon 2018
Nov 2 – Nov 4, 2018

Take Me to the Streets

A neighborhood discovery experience that can be customized to the guest and the property, with optional gamification (6-person team)

Routed users to a community and gave options to display that area’s locations of interest and to show route back to hotel

Drafted and prototyped the features using the Google Maps Javascript API

Won 1st place of 25+ teams (of 5-6 people each) for best tech solution that builds upon the “explore” feature of the Hilton’s Honors mobile app

Video Demo Code
Visual Data Analytics for the Web
March - April 2019

Changes in Weather and Energy Generation in the USA

Interactive data visualization that uses a US map, a line graph, and a bar graph to show how changes in temperature over different times of a given year affected energy generation in various states (3-person team).

I implemented slider and line graph interactivity such that user can use the slider or click the line graph to change the month. The US map and the line and bar graphs update their displayed data based on the month selected or year selected (via dropdown).

I also set the bar graph ticks to adapt to the number of resources for a state.

Link Code

Embedded/Firmware

Design with Embedded Operating Systems
April - May 2019

Air Canvas on Raspberry Pi

A simple prototype for a drawing tool that uses a Raspberry Pi, a PiCamera, and OpenCV to recognize hand gestures to paint on a PiTFT screen (2-person team)

Used a color histogram and contouring to find the center of a hand; drew dots at the farthest point along the contour from center

Drew line interpolations between drawn dots to mitigate FPS costs of live image processing

Added configurable brush size and color, and enabled histogram re-calibration.

Website Video Demo Code
Advanced Microcontroller Design and SoC
April - May 2019

FPGA Speech Vocoder

A highly parallel hardware vocoder on the Cyclone V FPGA for real-time speech synthesis and visualization on a monitor through a VGA interface (3-person team)

Includes pitch-shifting and voice modulation through 32 IIR filters.

I implemented a basic GPU in parallel with speech synthesizer by reading input audio to display the audio waveform and a 32-bin frequency spectrogram on an 8-bit color, 640x480 pixel monitor in real-time.

We were one of the 5 featured projects in this Hackster.io article.

Website Video Demo Code

Mobile/Desktop Apps

Cornell Natural Disaster Hackathon
Aug 30, 2018 - Sept 1, 2018

Wildfire Sensor Net

Sensor network that warned people of local wildfire locations (5-person team)

I created the Android app that takes in JSON sensor data from teammate's Raspberry Pi server to plot hotspots of surrounding area (incorporated Google Maps Android SDK)

Won 3rd of 10 teams for best tech solution that improves upon natural disaster preparedness

Video Demo Code
Object-Oriented Programming in C++ and Java
April 2018

Space Invaders

Simple Space Invaders game with sounds and command-line difficulty settings (Individual).

Player can move left to right, barriers can be destroyed by either player or aliens, and alien speed and numbers are configurable. Game ends when the player destroys all aliens or aliens reach the ground.

Involved threading, basic graphics, and game object manipulation. Sound effects and music are included.

Video Demo Code
Boilermake V, Purdue University
Sept 29 - Oct 1, 2017

Wear Weather

Suggests what clothing you should to wear based on the current and future weather predictions (4-person team)

Added extra UI features such converting temperatures and mapping weather descriptions to specific icons

Created based on weather data from the OpenWeatherMap API

Screenshots Code

Using Avi Kak's BitVector module, I've also implemented some cryptographic algorithms in Python such as AES, RSA, and RC4.

Back to the top

Writing Samples

Digital Communication System Design

OFDM - 16QAM Standard Proposal

This document details my group's implementation of a 16-QAM OFDM system (only on the physical layer).

I explain how our transmitter and receiver worked such that one with adequate knowledge of the field can replicate our implementations with as little ambiguity as possible.

Noted by the professor as "the clearest of all standards, very well written and could be used to reimplement the system."

PDF
Purdue IEEE

Code Cafe Funding Proposal Template

In order to persuade a prospective audience to sponsor a technical learning event (Code Cafe), I created this proposal template.

This includes Code Cafe's purpose, statistics regarding previous iterations, reasons to support Code cafe, and sponsorship tier awards.

Received $500 funding from Purdue's ECE department, $1000 from the College of Engineering, and facilitated discussions with recruiters from Microsoft, Facebook, Bloomberg, and Google.

PDF
Advanced Microcontroller Design and SoC

Mandelbrot Set Visualization

This document details my group's design, implementation, and testing of a Mandelbrot set solver by an FPGA controlled by an ARM Cortex A9 HPS.

My writing contributions to this report include Mathematical Background, the first two Hardware subsections, Software, Results, C and Verilog in the Appendix.

Note: I did not write VGA drawing functions after the main function since instructor Bruce Land implemented those for abstraction purposes

PDF
Back to the top

Experiences


Internships

T-Mobile US, Inc.

I will intern here during summer 2019 as a Systems Architecture Engineer in Bellevue, WA.

I will update this upon the completion of the internship.


Company Homepage

JPMorgan Chase & Co.

I interned here during summer 2017 as a Software Engineer in Chicago, IL.

I designed and implemented new features of the front-end of a then-prototype client-facing web portal (Data Once), which streamlines client account opening. I was thrust into this project and was able to quickly understand how the front-end integrated with the rest of the application. With the help of my Agile team, I learned Ember Bootstrap, jQuery, and other frameworks in order to build clean, intuitive user interfaces.

Although I was only a summer intern, I meaningfully advanced my project; JPMC implemented my changes and put the design into production.


Company Homepage About Data Once

Lincoln Financial Group

I interned here during summer 2016 as a Enterprise Architect in Fort Wayne, IN.

At Lincoln Financial Group, I was thrown into an email service prototype project in Java. Though this was my first taste of software engineering and I only knew C, I quickly learned Java within three days by creating my own Blackjack game with betting, decisions, and a simple AI.

Due to this project and my team’s assistance, I was able to dissect the email’s codebase and figure out how each part meshed with one another. As a result, I significantly improved class documentation for future developer work.


Company Homepage
Back to the top

Extracurriculars

Purdue IEEE

Purdue's Institute of Electrical and Electronic Engineers is one of Purdue's biggest engineering organzations (150+ active members), and it is devoted to technical achievements, professional development, learning workshops, and social events.

I was the Learning Committee Chair for the Fall 2017 - Spring 2018 academic year. My role was to organize technical workshops to strengthen students’ skillsets. To fund all of these events, I raised $5000+ total for this committee from industry and school grants. I also set new precedents by collaborating with other clubs on technical events and by increasing workshop occurrences.

One of my greatest accomplishments is directing Code Café: free semester events that teach introductory Python to 75+ students of different fields. Originally, it took place annually during the spring, but I made it a semesterly event due to my funding and recruiting efforts. Based on peer feedback and student demand, I improved and scaled up each event to maintain its high quality and strengthen its brand.

As a result of my efforts, I was voted runner-up for 2018 Student Choice Award – awarded for extraordinary service to the student branch, developing camaraderie amongst members, and contributing to technical work.


Homepage Code Cafe Pictures

Purdue Hackers

Purdue Hackers is a community of students who collaborate, learn, and build awesome technical projects.

For the past year, I've been involved in "Hello World", Purdue's freshman hackathon hosted by Purdue Hackers. During summer 2018, I was part of the Communications committee, whose duties included handling advertising, workshop organization, and volunteer management. I was also the liaison between Purdue Hackers and IEEE in order to set up a Hello World workshop led by the IEEE Secretary.

During Hello World 2017, I led a Python workshop to teach freshman students basic-to-intermediate topics. In addition, I volunteered as a mentor to guide the freshmen through their first hackathon projects in a collaborative environment as a resource.


Homepage
Back to the top

Connect With Me