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.
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
Full-Stack Development, Data Structures, Object-Oriented Programming, Data Visualization
Git, Agile, Linux/Unix, Windows
Communication, Leadership, Technical Writing
Python, Kotlin, C/C++, Verilog, Java
HTML5, CSS3, JavaScript
jQuery, NumPy, PyGame, Keras Tensorflow, D3.js
Google Maps Platform, AWS-Amplify
Bootstrap 4, Flask, OpenCV
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.
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 CodeA 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 CodeInteractive 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 CodeA 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 CodeA 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 CodeSensor 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 CodeSimple 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 CodeSuggests 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 CodeUsing Avi Kak's BitVector module, I've also implemented some cryptographic algorithms in Python such as AES, RSA, and RC4.
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."
PDFIn 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.
PDFThis 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
PDFI will intern here during summer 2019 as a Systems Architecture Engineer in Bellevue, WA.
I will update this upon the completion of the internship.
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.
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.
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.
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.