kevin michael zhao

printf("%s", "Hello World!");

he/him/his + they/them
computer science bse (junior)
new yorker || michigander
kevinmz@umich.edu

more

knicks and warriors fan
the office and friends enthusiast
hobbies: chess, weightlifting, coding
forever, go blue!

about me!
Hey there! I'm Kevin Zhao.
I am a Computer Science student at the University of Michigan. What excites me the most about software engineering is creating scalable software that aims to bring millions of people from all around the world closer together! I want to be on the forefront of new technology that drives communication within diverse communities and gives everyone a voice to share what matters most to them. I want to give underrepresented and minority groups the ability to empower themselves through connecting and sharing their stories with others. Using code, I want to give everyone the tools to succeed.

One of my greatest passions and strengths is learning. I love to self experiment with new frameworks and technologies, incorporating them into personal projects outside the classroom. I aim to be familiar with at least one new language or library every few months!
technologies
HTML/CSS/SCSS (4+ years)
Algorithms (4+ years)
C++ (3+ years)
JavaScript (2+ years)
Django/Python (2 years)
Git (1+ year)
React [Hooks, States] (1 year)
Markdown (1 year)
Heroku (1 year)
AWS [S3 Storages] (1 year)
Wordpress/Divi (1 year)
Agile/Azure (Knowledge)
experiences

Software Engineer DevOps|Azure|Postman

added a powershell script to increase efficiency of exisiting development pipeline. aimed to automate about 40% of deployment time tasks!

2020

During my 10-week internship with Meijer this summer, I was able to familiarize myself with new technologies, help Meijer automate many agile workflow tasks, and gain valuable industry experience. I learned about the benefits of developing with agile and its stark contrasts with our previous waterfall methodology. Working with the Microsoft Coretek Team, we created and tested a program that would drive future development. Using Azure Cloud Services and its command line interface, I was able to add a powershell script into Meijer's existing development workflow to automate menial deployment-time tasks. Some of these tasks include checking if unit tests and postman tests pass, adding and notifying QA/developers to code reviews, moving task cards on our Azure Board, and much more. These now automated tasks took up about 40% of Meijer's development workflow, so our new process enhancement intends to keep developers at their keyboards instead of worrying about fixing these smaller issues.

technologies: Microsoft Azure and DevOps to add artifacts and scripts into Meijer's workflow that would automatically run on code deployment. Postman for testing Meijer's multiple APIs. Azure Boards for following agile development and organization.

Data Visualizer JS|d3|Crossfilter|Heroku

visualize data filtering by playing around with graphs, charts, and thousands of points of data!

      link to project here
user: kevin, pass: kevin

2019


The System for Opioid Overdose Surveillance is a near real-time opioid overdose surveillance system created through a partnership between the University of Michigan Injury Prevention Center and Michigan High Intensity Drug Trafficking Areas (HIDTA). SOS provides near real-time mapping of non-fatal and fatal overdose cases as well as aggregate data briefs to facilitate timely public health and public safety responses.

The dashboard utilizes Mapbox, Leaflet, and d3 to visualize and contextualize the collected and aggregated data. Key takeaways from this project were the ability to build upon rudimentary JavaScript, working in a small team, and seeing a project from concepts to execution.

features: user login, auto-complete search, mapbox map with county/city layers, map markers with detailed data population, sortable tables and filterable data visualizations with easy transitions.

CLAWS Django|JS|Hololens|Heroku

created website and database to help with the development of a mixed-reality app for the hololens. developed as part of the NASA SUITS Challenge!

         link to project here
user: admin, pass: admin

2019 - 2020


CLAWS, or Compact Localized Augmented Work Station, is the name of our team that is currently working on developing augmented reality prototypes for astronauts during extravehicular activities. Right now, visual aides for astronauts are massively underperforming their duties, and can result in astronauts facing difficult situations. For our Hololens prototype, we prioritized monitoring health statistics (heartbeat rate, pressure, oxygen levels, etc.) with a self-explanatory graphic user interface, so astronauts can work and take notes and pictures outside the vehicle safely.

The Hololens portion is currently still in development. The website is a simple dashboard that allows anyone involved in the mission to create notes, add images, and update mission tasks that will then be sent as JSON data to the Hololens. The Hololens can also communicate with the website vice-versa. The site makes use of Django and its databases to store saved information.

ArtsEngine Wordpress|JS

redesigned and promoted website of university program focusing on bringing engineering and arts students together.

link to project here

2019 - 2020


ArtsEngine focuses on bringing together students from various academic backgrounds, and is aimed at combining specifically Engineering and the Arts. The website boasts dozens of grants and examples of previous projects to encourage students to start projects and research they otherwise would not be able to. ArtsEngine also offer assistance from professors and other mentors with the similar interests, promoting cross-learning from various communities.

The old website hosting ArtsEngine was a mess-- pages were overflowing with small hard to read text, and media was virtually non existent. My team and I worked on several outdated University sites, giving them each a redesign using the Divi Theme Builder through Wordpress. We were able to write short and concise javascript, bringing some life into these already static pages. We also designed many modern themes and found a balance between media and text. The sites are expected to be lauched in late August, so stay tuned!

Hearts and Minds HTML/CSS|JS

helped in designing and programming new company website.

link to project here

2018


Hearts and Minds is a non-profit company whose main goal is to help those who live in extreme poverty around the world. They recruit volunteers from around the world, who pride themselves on producing around seven dollars worth of work for every dollar they spend.

This was my first time having experience with Javascript and data maniuplation using HTML forms. I was able to work with website developers, and together we drew sitemaps and mockups of the new website before implementing it. It was also the first time I was introduced to working with dynamically updating websites.

projects

Animated Pathfinder React|JS

visualize many different pathfinding algorithms find their way around tricky self-made or generated mazes!

link to project here

2020

This site hosts a magintude of popular search algorithms, from Djikstra, A*, Greedy, and most importantly, DFS and BFS. You can either create your own maze by placing walls in obscure places, or use a random maze that you can choose to be as sparse or dense as you'd like. The starting and ending nodes are adjustable as well, so you're able to place them next to each other or as far away as possible. While the algorithm is in action, there is a nice animation that displays the currently searched cells as it makes its way to the end node. Speed of the algorithm and animations are ajudstable, of course. After the animation has run its course, the shortest* path will be drawn (only applicable on certain algorithms!). At this point, the user is free the move either node and draw extra walls, which dynamicaly updates the shortest* path and searched cells accordingly. To visualize again, press "Visualize!" or start over by clearing the board.

This is a React application that takes advantage of dynamically updating elements within the HTML. The entire grid is a table element whose cells can display walls, searched cells, paths, or stay empty. The main obstacle was dynamically updating the path and searched cells while the user moves the nodes, as the algorithms and updating of table cells must be implemented efficiently so this feature would work smoothly without too much lag. Another challenge was creating a queue in JavaScript without constantly updating the array size as moving every element would be too time consuming. This project taught me a lot about creating React applications and the many benefits of learning React. It also taught me to use async/await functions, as native JavaScript only offers a proper sleep/pause command that can only be implemented through asynchronous functions.

Wolverine D-M Django|JS|AWS|Heroku

blog post messaging platform aiming to connect michigan friends together during quarantine!

link to project here

2020

Wolverine-DM is my take on combining my school spirit and appreciation of Minecraft's design with a blogging/messaging platform available to everyone. Users can register through the landing page, where they can then access posts and messages. Rudimentary features are all present: liking, editing, and deleting posts, commenting and replying to others, and updating profile usernames and photos. It also supports advanced features such as resetting account password through email and saving uploaded photos to Amazon Web Services.

This platform utlizes Django and its rendering template to display QuerySets of posts, messages, etc. Most actions are handled by native JS and jQuery, allowing the frontend to be changed dynamically without needing unnecessary reloads.
The key takeaways from this included learning Django and templating language, hosting static files on AWS, manipulating data, and updating the frontend on user interactions.

College Bites Django|JS|AWS|Heroku

come back to your favorite recipes to cook while living off campus!

link to project here

2020

College Bites was created by two college students, Kevin (me) and Fion Lin, who both have a passion for cooking and trying new recipes. Fion and I are college students soon to be graduating from the campus dining halls. In our new apartments, our biggest concern is cooking our own meals. During quarantine, Fion and I picked up some recipes and wanted to keep note of the new found knowledge! This is when we came up with College Bites. With the upcoming school year being pretty much remote and with all of our friends living off campus for the first time, we wanted to have a place to share a few recipes with our friends! It is also a great place of all of us to connect and give each other a small insight into our our food journey off campus. The app is also keyboard accessible, creating an user friendly environment for everyone.

features: a login/register page and avatar for each user, a personalized dashboard to view previous recipes, a filter to sort recipes by different categories, multiple image uploads with formsets, clean UX design (minimized reloads).

designs made by Fion Lin:
Wireframing (done on invisionapp): here
Design (done using Figma): here

Tutorials Markdown

written tutorials and examples for common libraries and programming concepts like polymorphism and AVL trees.

link to project here

2019 - Present

Many complicated programming concepts are ignored because it's hard understand them well and use them in every day programming. I realized that I'm a person who would forget something unless I used it often. By writing these short and detailed explanations of common concepts and libraries, I can be reminded of core programming ideas without using them in every day production. There are tutorials on polymorphism, heaps and trees, setting up bootstrap, using javascript libraries, and so on. It's also a great resource for my brother, who is also studying Computer Science and is relatively new to many of these concepts. Writing these tutorials taught me to be a better technical writer by forcing me to be concise with my words. Check all them out in the repo!

resume
Download