Experience with x86-64 and AVR Assembly, Git, SVN, and LaTeX, as well as Adobe Photoshop and InDesign. Built multiple desktop computers. Python experience includes backend development with Flask. Web experience includes HTML, CSS, and JS/React.
Experience with x86-64 and AVR Assembly, Git, SVN, and LaTeX, as well as Adobe Photoshop and InDesign. Built multiple desktop computers. Python experience includes backend development with Flask. Web experience includes HTML, CSS, and JS/React.
Major: Electrical and Computer Engineering (Software Track)
Double Major: Computer Science
Final Cumulative GPA: 3.93 (4.0 in Computer Science)
This is an embedded systems programming course - it covers the integrated hardware and software aspects of embedded processor architectures, along with advanced topics such as concurrency, real-time principles, and memory management.
This class is an introduction to the fundamental ideas and models underlying computing. Topics include finite automata, regular sets, pushdown automata, context-free grammars, Turing machines, undecidability, and complexity theory.
This class is an introduction to the fundamental ideas and models underlying computing. Topics include finite automata, regular sets, pushdown automata, context-free grammars, Turing machines, undecidability, and complexity theory.
This course covers the fundamental principles and engineering tradeoffs involved in designing modern parallel computers, as well as the programming techniques to effectively utilize these machines. Topics include naming shared data, synchronizing threads, and the latency and bandwidth associated with communication.
This course covers the fundamental principles and engineering tradeoffs involved in designing modern parallel computers, as well as the programming techniques to effectively utilize these machines. Topics include naming shared data, synchronizing threads, and the latency and bandwidth associated with communication.
This course is about the design and analysis of algorithms. Specific algorithms for a variety of problems, as well as general design and analysis techniques are studied.
This course is about about how to design, analyze, and program algorithms and data structures. The course emphasizes parallel algorithms and analysis, and how sequential algorithms can be considered a special case.
This course is about about how to design, analyze, and program algorithms and data structures. The course emphasizes parallel algorithms and analysis, and how sequential algorithms can be considered a special case.
This course introduces basic issues in design and verification of modern digital systems.
This is an embedded systems programming course - it covers the integrated hardware and software aspects of embedded processor architectures, along with advanced topics such as concurrency, real-time principles, and memory management.
This class is an introduction to the fundamental ideas and models underlying computing. Topics include finite automata, regular sets, pushdown automata, context-free grammars, Turing machines, undecidability, and complexity theory.
This course covers the fundamental principles and engineering tradeoffs involved in designing modern parallel computers, as well as the programming techniques to effectively utilize these machines. Topics include naming shared data, synchronizing threads, and the latency and bandwidth associated with communication.
This course is about the design and analysis of algorithms. Specific algorithms for a variety of problems, as well as general design and analysis techniques are studied.
This course is about about how to design, analyze, and program algorithms and data structures. The course emphasizes parallel algorithms and analysis, and how sequential algorithms can be considered a special case.
This course introduces basic issues in design and verification of modern digital systems.
Software Engineer at Yext
At Yext, I am a full stack developer working in Go, Java and React. I recently led the front-end technical design and development of a new product, built in React, that allows customers to manage suggested changes to their content. On my previous team, I worked on creating interactive tools that allow customers to easily build beautiful, accurate, and scalable websites for locations, events, and more.
Jul 2018
Software Engineer at Yext
At Yext, I am a full stack developer working in Go, Java and React. I recently led the front-end technical design and development of a new product, built in React, that allows customers to manage suggested changes to their content. On my previous team, I worked on creating interactive tools that allow customers to easily build beautiful, accurate, and scalable websites for locations, events, and more.
Jul 2018
Teaching Assistant, Algorithm Design and Analysis
This is a senior and grad level algorithms course covering topics such as hashing, network flows, linear programming, and computational geometry. I held solo recitations, office hours, and managed Autolab for automatically grading submissions to programming assignments.
May 2018
Jan 2018
Teaching Assistant, Algorithm Design and Analysis
This is a senior and grad level algorithms course covering topics such as hashing, network flows, linear programming, and computational geometry. I held solo recitations, office hours, and managed Autolab for automatically grading submissions to programming assignments.
May 2018
Jan 2018
Teaching Assistant, Great Theoretical Ideas in Computer Science
This is a theoretical computer science course, that integrates mathematical material with computer science applications. Topics include complexity theory, graph theory, automata theory, and cryptography.
Dec 2017
Aug 2016
Teaching Assistant, Great Theoretical Ideas in Computer Science
This is a theoretical computer science course, that integrates mathematical material with computer science applications. Topics include complexity theory, graph theory, automata theory, and cryptography.
Dec 2017
Aug 2016
Forward Deployed Software Engineer Intern at Palantir
I worked on an algorithm for an interactive application used to optimize advertisement packages for television. As a forward deployed engineer, I also interacted with users in order to develop requested features, receive feedback, and provide support.
Aug 2017
May 2017
Forward Deployed Software Engineer Intern at Palantir
I worked on an algorithm for an interactive application used to optimize advertisement packages for television. As a forward deployed engineer, I also interacted with users in order to develop requested features, receive feedback, and provide support.
Aug 2017
May 2017
Software Engineer Intern, Compute Infrastructure at Salesforce
I worked on a service, written in Go, that automates the process of triaging and remediating device and host failures. I also added functionality to an existing library to allow for host OS imaging and firmware upgrades. Being my first experience in industry, I also learned good coding practices, including proper code documentation and code reviews.
Aug 2016
May 2016
Software Engineer Intern, Compute Infrastructure at Salesforce
I worked on a service, written in Go, that automates the process of triaging and remediating device and host failures. I also added functionality to an existing library to allow for host OS imaging and firmware upgrades. Being my first experience in industry, I also learned good coding practices, including proper code documentation and code reviews.
Aug 2016
May 2016
Teaching Assistant, Fundamentals of Programming and Computer Science
15-112 teaches introductory programming in Python, covering a wide range of material, from efficiency analysis to object-oriented programming to recursion. I did everything from leading recitations and review sessions, to holding office hours, to grading homeworks and exams. The experience I've gained through this position, and the interactions I've had with students, other TAs, and professors alike, have been invaluable.
May 2016
Jan 2015
Teaching Assistant, Fundamentals of Programming and Computer Science
15-112 teaches introductory programming in Python, covering a wide range of material, from efficiency analysis to object-oriented programming to recursion. I did everything from leading recitations and review sessions, to holding office hours, to grading homeworks and exams. The experience I've gained through this position, and the interactions I've had with students, other TAs, and professors alike, have been invaluable.
May 2016
Jan 2015
Research Assistant, Human-Computer Interaction Institute, Social Computing Lab
Last summer, as part of the Social Cybersecurity project, I created an online quiz, which you can find out more about below. Being my first major web (and research) project, I gained a lot of web development and research experience.
Aug 2015
May 2015
Research Assistant, Human-Computer Interaction Institute, Social Computing Lab
Last summer, as part of the Social Cybersecurity project, I created an online quiz, which you can find out more about below. Being my first major web (and research) project, I gained a lot of web development and research experience.
Aug 2015
May 2015
Teaching Assistant, Principles of Imperative Computation
15-122 teaches imperative programming in C, covering topics from proving function correctness to basic algorithms and data structures. Just like with 112, I did everything from leading labs and recitations to grading. I also got the opportunity to manage the entire course on Autolab, and created exam questions in LaTeX.
Aug 2015
May 2015
Teaching Assistant, Principles of Imperative Computation
15-122 teaches imperative programming in C, covering topics from proving function correctness to basic algorithms and data structures. Just like with 112, I did everything from leading labs and recitations to grading. I also got the opportunity to manage the entire course on Autolab, and created exam questions in LaTeX.
Aug 2015
May 2015
Microsoft Consultant at Best Buy
A few months after starting my job at Best Buy, I was asked to represent Microsoft as a Microsoft Consultant in the new mini-store. I received special training in Microsoft products, and provided customers with Windows- and Microsoft-specific advice and information. I sold primarily Windows-based computers and tablets (yay Surface!). As a team with the two other Microsoft Consultants in my store, we ranked among the top 20 in the entire company (with over 600 stores that had MS mini-stores) based on sales performance.
Aug 2014
Aug 2013
Microsoft Consultant at Best Buy
A few months after starting my job at Best Buy, I was asked to represent Microsoft as a Microsoft Consultant in the new mini-store. I received special training in Microsoft products, and provided customers with Windows- and Microsoft-specific advice and information. I sold primarily Windows-based computers and tablets (yay Surface!). As a team with the two other Microsoft Consultants in my store, we ranked among the top 20 in the entire company (with over 600 stores that had MS mini-stores) based on sales performance.
Aug 2014
Aug 2013
Computers and Tablets Sales Associate at Best Buy
In this position, I advised on and sold all types of tablets, desktops, and laptops, as well as accessories and networking products, to hundreds of customers. Being my first retail job, I got to learn how things work "behind the scenes". I also gained a lot of experience in customer interaction, and ended up meeting a lot of really awesome people!
Aug 2013
Jun 2013
Computers and Tablets Sales Associate at Best Buy
In this position, I advised on and sold all types of tablets, desktops, and laptops, as well as accessories and networking products, to hundreds of customers. Being my first retail job, I got to learn how things work "behind the scenes". I also gained a lot of experience in customer interaction, and ended up meeting a lot of really awesome people!
Aug 2013
Jun 2013
Wireless DJ Gloves
Jan 2018 - May 2018
This was my Electrical and Computer Engineering senior capstone project. We designed a pair of wireless, lightweight gloves that act as a DJ controller by recognizing user gestures and translating them to specific functions. I was primarily responsible for the hardware - designing the custom PCB used to interface with analog sensors, setting up the Raspberry Pi’s with all necessary modules, writing code for the Bluetooth client on the Pi, and handling software components used to poll the hardware devices via SPI.
Wireless DJ Gloves
Jan 2018 - May 2018
This was my Electrical and Computer Engineering senior capstone project. We designed a pair of wireless, lightweight gloves that act as a DJ controller by recognizing user gestures and translating them to specific functions. I was primarily responsible for the hardware - designing the custom PCB used to interface with analog sensors, setting up the Raspberry Pi’s with all necessary modules, writing code for the Bluetooth client on the Pi, and handling software components used to poll the hardware devices via SPI.
Flo
May 2017
This was my final project for 15-418, Parallel Computer Architecture and Programming, Spring 2017. It's a small library for easily creating network flow graphs, and performing parallel max-flow computations on multi-core CPUs and NVIDIA GPUs, written in C++ using OpenMP and CUDA. You can find more information about it here.
TLDRit!
February 2016
This was a hackathon project I made with a few friends! It's a webapp that uses a second-order Markov chain to randomly generate a one sentence summary of restaurants, books, and CMU courses, based on reviews and descriptions! Since the text is randomly generated, it can be pretty nonsensical and hilarious sometimes! Some technologies used include Flask and the Google Maps API. Check out the project at TLDRit.xyz!
CyberQuiz
Summer 2015
This is the website that I made for my research at CMU's Human-Computer Interaction Institute. It's an online quiz that tests your cybersecurity knowledge, and provides interactive material and feedback along the way. To make this, I used Flask, MySQL, the Materialize CSS framework, and jQuery.
CyberQuiz
Summer 2015
This is the website that I made for my research at CMU's Human-Computer Interaction Institute. It's an online quiz that tests your cybersecurity knowledge, and provides interactive material and feedback along the way. To make this, I used Flask, MySQL, the Materialize CSS framework, and jQuery.
Perfect Produce Picker
December 2014
This was my term project for 15-112 when I took it in Fall 2014. It is a simple database, made in Python, that is controlled through hand gestures and camera input. It uses Tesseract OCR, the Leap Motion, and OpenCV.
Perfect Produce Picker
December 2014
This was my term project for 15-112 when I took it in Fall 2014. It is a simple database, made in Python, that is controlled through hand gestures and camera input. It uses Tesseract OCR, the Leap Motion, and OpenCV.
Thanks for looking through my website - feel free to reach out to me!
Thanks for looking through my website - feel free to reach out to me!