My name is Vivian Zhao, and I am currently a sophomore at the University of Texas at Austin, majoring in Computer Science in the Turing Scholars Honors Program. This website contains my coding projects, websites, and artwork! When I'm not working on one of these, you'll most likely find me playing piano, crocheting, or playing tennis.
An Android-based home security application that utilizes machine learning and audio signal processing to perform real-time sound analysis and categorize sounds (i.e. smoke detectors, knocking, glass breaking, doorbells, dog barking, and other noises).
Languages/Tools Used: Python, TensorFlow, Keras, Librosa, Java, Android Studio
Demonstration Video
Technical Documentation
Detecting knocks;
shows spectrogram
Detecting smoke detector;
shows FFT graph
A research project that combines object segmentation and recognition, voice-to-text, and semantic analysis to implement the following functionalities: detect whether a user is pointing with their index finger, determine the direction of the point, record and transcribe a command spoken by the user, analyze whether they want the robot to go somewhere or identify an object, and accordingly either move in the direction the user is pointing in or output the identity of an object the user is pointing at.
Created During: UT Austin's Freshman Research Initiative
Languages/Tools Used: Python, OpenAI's Whisper, Scikit Learn, YOLOv8, MediaPipe
Presentation with Demonstration
Research Paper
Video demonstration of the "identify" command (please full-screen video and have sound on for best effect)
To synthesize my passions for computer science and translation, I researched the capabilities and limitations of machine translation by creating a tool for my translation purposes. While Google Translate is quite powerful, it fails to match my translation accuracy and styles. Thus, I decided to use my own translations to fine-tune a pre-trained machine translation model. After segmenting over 2,000 sentences, I used the language pairs as training input to create a custom translation model, which was able to capture the specific terms, tenses, and sentence structures I tend to use. The BLEU score¹ increased from 18.6 (significant errors) to 35.2 (good translation quality).
Languages/Tools Used: Python, HANLP and NLTK for sentence segmentation, Google AutoML for training and evaluation
[1] a metric for evaluating machine-translated text
Chinese
Improvements:
English (custom model)
English (Google Translate)
Chinese
Improvements:
English (custom model)
English (Google Translate)
A home security app that alerts the user of any loud noises in their home while they’re away, and allows them to listen to short clips of the noises as the app refreshes in real time.
Created During: PioneerHacks III
Awarded: Best Mobile App out of 100+ participants
Languages/Tools Used: Java, Android Studio, Firebase
Full Demo
A 4D endless runner game created for the Cave Automatic Virtual Environment, a mixed-reality platform including three surrounding wall-sized screens and a moving floor. The player races through a mine cave while attacking enemies and collecting gems.
Created During: National High School Game Academy (Carnegie Mellon University Pre-College)
Role: Lead Programmer
Languages/Tools Used: C#, Unity
Start Screen
Player Tilting
Collecting Gem
Attacking Enemy Bat
An AI that can play Chinese Checkers, a board game in which players race to get their pieces to the opposite corner. The program calculates the best move to take using locally optimized strategies.
Created During: Norcal Hacks
Awarded: First Place out of 100+ participants
Languages/Tools Used: Java
Full Demo
Red = me, Green = AI
Disclaimer: Used open-source code for GUI
A productivity app that displays the user's schedule in a color-coded clock. The app also uses text-to-speech to notify the user when it is time to start their next task.
Created During: CodeHers Hack
Awarded: Best App out of 100+ participants
Languages/Tools Used: Java, Android Studio
Full Demo
A 2D running game where the player rolls as an egg and then flies as a bird while avoiding obstacles. Uses realistic physically-based motion and collision detection and includes background music and sound effects.
Created During: Superposition V Hackathon
Awarded: Best Game out of 300+ participants
Languages/Tools Used: Java, Android Studio
Full Demo
Added more features after the hackathon:
A remake of the arcade game Q*bert with added features and changed theme. The player controls the green dinosaur and tries to turn all of the tiles yellow while avoiding enemies like the purple frog.
Created During: National High School Game Academy
Role: Programmer
Languages/Tools Used: C#, Unity
An ear training game inspired by Wordle but instead of guessing a word, the player guesses the notes in a melody that is played. Provides a fun and engaging way for musicians to hone their listening skills.
Created During: Sonoma Hacks
Languages/Tools Used: Java, Android Studio
Full Demo
graphite | 2023
graphite, color pencil, pen | 2022
paper, exacto knife | 2022
tempera paint | 2023
digital photo manipulation, Gimp, stock photos | 2021
digital photo manipulation, Gimp, stock photos | 2021
acrylic paint | 2015
acrylic paint | 2015
color pencil | 2015
color pencil | 2015