about

Hello!

Software Engineer & Entrepreneur

Hi, my name is Ze Yuan (Gavin) Zhang. Nice to meet you!
I graduated from Rice University in December 2022 with a B.S. in Computer Science.
Currently, I am making any NFT rentable without collateral at zipzap.net.

I am especially passionate about music and on the lookout for intersections between it and software!

Skills

    Languages
  • Python, Java, C++, Solidity
  • HTML, CSS, Javascript
  • ChucK, MATLAB, SQL, Assembly
    Tools & Frameworks
  • Keras, TensorFlow, OpenCV
  • React, Flask, Express, Docker
  • Firebase, MongoDB
  • Ethers, Hardhat
  • JUCE, Librosa
    Foundations
  • Data Structures & Algorithms
  • Distributed Systems
  • Probabilistic Algorithms
  • Computer Systems

experience

My experience

 Jan 2023 - Present

Co-Founder & Engineer, ZipZap LLC

ZipZap allows anyone to rent any NFT, collateral free, using our patent pending Proxy Wallet technology.

The Proxy Wallet is essentially a custodial wallet with built-in asset protection controlled by ZipZap. To implement it, our team is creating microservices and multi-chain dApps using Docker, Express, React, Firebase, and more. We're also developing modular, self-connecting, and upgradable smart contracts using Solidity, Hardhat, and Ethers. Finally, we are creating an Ethereum JSON-RPC compatible browser extension to allow users to connect their Proxy Wallet to any dApp.

So far, ZipZap has been a great experience showing me the challenges and rewards of running a startup, and the process of innovation and overcoming technical obstacles.

Come check us out at zipzap.net!


 May 2022 - July 2022

Software Engineer Intern, MealMe

MealMe is a Silicon-Valley startup providing a search-engine-like service for ordering from delivery apps such as Uber Eats and Instacart.

At MealMe, I protected over $10,000 USD of profits each month by making several backend updates (confidential). Additionally, I enabled and live-tested anonymous SMS and calls using SignalWire to connect users and delivery drivers. I also increased the app's speed by over 50% in some cases by optimizing restaurants and images shown.


 May 2021 - July 2021

Software Engineer Intern, InfoBird

Based in Beijing, InfoBird provides customer engagement services to hundreds of companies. At InfoBird, I designed an OCR server reading serial numbers in images sent from customers. This helped automate customer service quality assurance.

I created the server mainly using OpenCV, Paddle, and Flask. The server was based off a MobileNetV3 model which I tuned using 2000+ images from clients. Overall, I improved its accuracy from 75% to 90%. I also improved its accuracy by 45% on diagonal text using Canny and Hough transformations. I especially enjoyed the unique experience of working in a Chinese environment.


 Feb 2020 - Aug 2020

Research Assistant, Rice University

I worked with Dr. Peter J. Varman to implement Fair-EDF, an earliest-deadline-first request scheduler seeking to fulfill the same percentage of requests from different clients. This involved using exploring different linear regression and decision tree models to predict SSD processing times which are used in the algorithm to predict whether put a request in the low priority queue.

Using a decision tree with 4 nodes per branch, we were able to accomplish fast training (0.14s on a training set of 5000+ requests, 52000 observations/second) with a 15% error on average on a YACSIM simulated SSD receiving requests from a single client.


 Sep 2019 - Dec 2020

Analyst, Rice Undergraduate Investment Fund

I was a member of the Porfolio Review section, which manages and oversees the fund's holdings. During my time with the fund, I worked with the Industrials and Energy sectors. In each sector, I gave updates on stocks we hold, industry overviews, and semesterly reports. I also worked with each sector's team on qualitative research and qualitative (DCF) analysis for buy and sell pitches. In Energy, I protected a return of 44% on the stock CLB by pitching to hold it rather than sell it.


 Sep 2019 - May 2020

Member, Rice Hyperloop Propulsion Team

As a member of the Propulsion team, I helped recreate the prototype of a cold gas thrust chamber for our model train by producing schematics of various parts on SolidWorks, machining them, and finding suitable components to use for building the prototype.


 April 2016 - April 2019

General Manager, UNA Community Youth Band

I was a percussionist and pianist for the UNA Youth Band, a concert band run by youth in the Vancouver area focused on providing students who were not able to be part of a school band a similar opportunity. As a promoter in 2017 and 2018, and manager in 2019, I increased the band's size by 33% by streamlining the recruiting process with a list of local music instructors. As the manager, I organized 12 concerts, the rehearsal venue, and distribution of volunteer hours to 20+ students. I also contributed to making the website and our budget.

projects

My Projects

 Nov 2023 - Present

Equalizer Plugin

I created an audio equalizer with lowcut, highcut, peak filters compatible with all major platforms using C++ and JUCE. To render the spectrum analyzer, I used the Fast Fourier Transform. Currently, I'm prototyping a noise reduction feature with Spectral Subtraction, Wiener Filtering, and the Redundant Convolutional Encoder-Decoder Network in Python with Librosa.


 Aug 2022 - Dec 2022

Simple S3

As a team of 4 peers under the guidance of Dr. Dan Wallach, we designed a distributed storage system similar to Amazon S3 using master-worker nodes architecture. We then implemented it as a secure and horizontally scalable system using AWS, Flask, and Swagger. Our system could double or half its nodes on-demand with through-put scaling nearly linearly with worker count. It could protect uploaded contents under node Additionally, we created a responsive dashboard using React and ChakraUI for monitoring health and performance metrics.


 Jan 2022 - May 2022

Shell Hydraulics Stick-Slip Analysis

Stick-Slip in pistons is a dangerous and wasteful phenomenon where the piston begins to vibrate intensely and erratically. I analyzed Stick-Slip in pistons by coordinating a team of peers and working with mentors from Shell Hydraulics.

Together, we experimented with 300+ files using Detrended Fluctuation Analysis and Wavelet Transform. We Classified files for varying degrees, intervals of Stick-Slip with Fast Fourier Transform and Hampel Identifier We also created a user-friendly dashboard for anyone to test inputted data for Stick-Slip using Streamlit.


 Dec 2021

ChatApp

In this nightmarish class project, I implemented a Java RMI messaging app using model-view-controller and publisher-subscriber systems. I designed and presented API with type-narrowing on message types, which was then voted for class-wide (100+ students) usage. I also incorporated visitor and factory design patterns to allow processing of unknown message types.


 Jun 2021

OpenCV Gesture Detection

To correct bad habits such as hair-pulling, I created an app that pings users whenever it detects certain gestures. To do this, I collected data for a webcam based gesture recognition model using Mediapipe and OpenCV. Then, I trained a 4 stage scikit-learn pipeline featuring logistic regression, gradient boosting classifier, etc. In the end, it could detect 5 gestures in real-time using Mediapipe, OpenCV with 88% accuracy. Unfortunately, I am still pulling my hair sometimes.


 Dec 2020

(no)Pedal

Recently, I started playing the guitar, and wanted to make a completely digital substitute to a physical loop pedal that can be used anywhere, with an electronic or acoustic guitar. I've created a version that is somewhat functional, but due to the inaccurate timing of Javascript's task scheduling, I will need to re-write the code using web-audio libraries such as Tone.js. I also need to trim the leading and trailing silence in recordings (when users move hands between the guitar and 'pedal'), add mobile compatibility, and improve audio quality (possibly through a noise gate and EQing recordings).


 Dec 2020

Who's Distracted?

With a group of 2 other friends, I made a Google Chrome extension for study groups which keeps people focused by publicy shaming them if they get distracted ;). If a user visits a non-productive website, all other users in the same lobby as them will be alerted. I primarily programmed the front-end, which consists of the lobby joining and alert interface, and tracking and communicating user activity with a Flask server via socket.io. I also helped with writing the Flask server which communicating with users grouped into lobbies, and detecting whether a user is distracted by processing URLs they visit with a list of 'distracting' websites.


 Dec 2020

This Website

To show what I'm doing and get some practice with web development, I made this website using Bootstrap and jQuery. While it is made from a template, by personalizing the built-in features and functionality, as well as adding my own, I became much more comfortable working with front-end web design.


 Aug 2020 - Nov 2020

Python Testcase Generator

I wrote a program in Java to generate a concise set of test cases to ensure a correct implementation for Python programs given a set of reference implementations. The program parses a config file, recursively generates a large set of test cases, then uses the greedy 'solution' of the hitting set problem to reduce said set to a significantly smaller set of test cases, while ensuring that the concise set of tests will catch all buggy implementations.


 Jun 2020 - July 2020

Bluetooth Controllable Table Tennis Robot

I designed a table tennis serving robot with a phone companion app to configure hitting patterns, spins, speeds via programming, circuit design, mechanical design. This involved creating an Arduino program and mobile app, a custom circuit involving DC and Servo motors and H-Bridges to control the robot. Currently, I've completed the circuit and coding, but the physical robot itself, which I built with a few friends, is still incomplete. I plan on finishing it some time in the near future.