I'm a computer science student at the University of Virginia. I have a strong passion for learning and applying knowledge to solve complex problems. I value technical knowledge as much as communication, empathy, and collaboration. I also have a love for research and have been heavily involved in research as a student at UVA. Some of my other interests include machine learning, cybersecurity, and AI. I also love playing guitar and drawing.
Vibe gives you incredible insights into your listening habits. Compare your most recent songs to the top tracks of the day, your last month of listening, and even your favorite songs based on popularity, happiness, danceability, and more! Visualize trends in your favorite songs over your entire Spotify listening history and how they stack up against the top songs of each year. Rediscover the songs and artists you’ve been in love with the most. This web application acquired over 10,000+ Spotify users from 50+ countries in 2 weeks. I used Spotify's Web API to retrieve and analyze data and the implicit grant OAuth2 flow for authentication. This is my first web application built with React. I learned about class/functional components, JSX, props, state, and lifecycle methods and utilized concepts such as Async/await, promises, callbacks, etc. React js allowed me to organize my code so that I could adhere to DRY principles and better programming practices.
This web application uses Yelp's Fusion API to help users pick a restaurant or experience. The app obtains user location via HTML5 Geolocation and plots merchants on a map based on search terms and search rules. I built this app with HTML, CSS, Javascript, and the Bootstrap library. I leveraged the Google Maps API for route calculations, geocoding, and displaying markers on a map. Before working on this project, I had never wrote a single line of HTML or CSS and I had very little experience in Javascript. This is why I used vanilla Javascript with JQuery and Axios for modifying HTML and making API requests respectively. I submitted this project to apply for the Capital One Software Engineering Summit Program. I was luckily selected as one of thirty students to participate in this program out of hundreds of applicants nationwide.
I was inspired by an article that detailed the struggles that blind individuals faced when using the internet. In order to navigate websites, blind individuals use software which reads aloud every element of a webpage, often overwhelming the user with extraneous information. I envisioned a screen reader that would allow users to effectively control their browsers by using voice commands. I developed this in Python because of the many robust libraries written for Python. The program then uses Beautiful Soup to parse the HTML for key information and the Selenium library to automate browser navigation. Lastly, the program composes output based on the user input, then converts this output to voice for the user. I am currently researching integrating AI/ML or leveraging an accessibility API to scale this to other websites.
I am currently researching applications of resistive memory at UVA. Resistive memory (memristors), are a two-terminal method of storing data and enabling parallel computing, based on spike-based neural networks by mimicking authentic bio-neural spike response. Memristors have promising applications in distance mapping and 3D imaging technology. I developed LiDAR and ray tracing simulations to properly model the applications of memristors. I used software to simulate LiDAR by placing 3D objects using XML to generate 3D point clouds and modeled optical ray tracing simulations and collected data accordingly. The figures and data generated by my simulations will be featured in the research paper as well as The Spectra, the Undergraduate Science and Engineering Journal at UVA.
This personal website is a portfolio of some of my projects and experiences. I built this website with HTML, CSS, Javascript, and Bootstrap. I used Particle js to create the background effect on the landing page (try clicking and moving your mouse around). A lot of elements you see on this website are custom made. I did not just use a template and paste my own content in. For example,I built the carousels with custom CSS to add features that Bootstrap's carousels did not offer. I also used JS to create interactive navigation based on what the user is viewing. I animated elements with animate.css and wow.js. The main challenges of creating this website was conceptualizing the design I wanted to create, and executing the design in a fully responsive website.
National Collegiate Cyber Defense Competitor (Core UVA Team), HooHacks (Marketing Committee), Computer & Network Security, Future Business Leaders of America, Sigma XI Research Society, Society for Science & the Public