Projects
Run 2 The Moon
Created a web app for runners to map the mileage from their runs onto routes anywhere in the world
To provide motivation for runners, I developed an app so that they can map their mileage onto a route anywhere in the world to see a visual representation of their progress. The project utilizes a MERN stack with MongoDB for data persistence, ExpressJS to handle data logic, React and NextJS as the frontend framework, all on a NodeJS environment. The app connects with Strava, a popular run logging app, through the Strava API, so that runs uploaded to Strava are automatically counted towards your progress. The maps are provided through the open source library Leaflet, and route calculation uses the MapBox directions API.
The Philosophy Club at UVA Website
Developed the website for The Philosophy Club at UVA using React and Gatsby. It is featured on the UVA Philosophy Department website.
As the first webmaster for the Philosophy Club at UVA, I developed the club site from the ground up using React and Gatsby as a framework. The site contains club information, semester schedules, and contact information. To achieve flexible and responsive designs, I employed Tailwind CSS for styling. Our website is integrated with Hygraph, a content management system, to facilitate seamless content updates for events, archives, and executive board information. This setup enables other club executives to manage site content efficiently without the need to directly edit the source code. Data retrieval is streamlined through GraphQL queries to Hygraph.
The Contemplative Cavalier Website
Developed the website for UVA's premier undergraduate philosophy journal The Contemplative Cavalier.
As the inaugural webmaster of The Contemplative Cavalier, I led the development of our site using React and Next.js as foundational frameworks. Our platform caters to readers and contributors interested in engaging with our journal content. The site boasts responsive and visually appealing designs crafted with Tailwind CSS. To manage journal issues and executive information efficiently, we leverage Hygraph as our content repository. Data retrieval is seamlessly integrated via Hygraph's GraphQL interface, ensuring robust and streamlined operations.
UVA Club Running Website
Developer on the UVA Club Running website team
As a member of the UVA Club Running web development team, I collaborate with two teammates to continuously enhance and maintain the site's functionality. Our responsibilities include implementing new features and making necessary modifications to ensure the site remains current and functional. The site serves as a comprehensive resource, providing essential club details such as practice schedules, meet information, and contact details. It plays a crucial role in outreach efforts to attract new members and engage with the community.
Theme Song Bot
Developed a Discord bot using Python and the Discord API that plays user set music when they join voice calls.
The program utilizes youtube-dl to extract audio from any YouTube URL provided by the user, which is then played using FFmpeg. It features options to enable or disable the bot as needed, along with functionality to list all users and their selected music. Currently deployed on my Discord server with over 100 members, the bot enhances user experience as a fun feature.
Multi-language Development Security Trends
Research assistant at the George Mason University Sun Security Lab working on projects investigating patterns in multi-(coding)language software.
Our goal is to understand the trends and vulnerabilities present in these programs in order to prevent security weaknesses. Using Python, I retrieve GitHub commits from diverse repositories spanning languages such as C, C++, Rust, Python, Java, JavaScript, HTML, and CSS. I analyze these commits to uncover commonalities, employing both automated Python scripts for data extraction and spreadsheet creation, as well as manual examination leveraging my background in these languages. Our primary focus is on the Django web framework, and we anticipate publishing our findings soon.
Source Film Maker Animation
Animated a short film using Valve's Source Film Maker software.
I taught myself basic keyframing, lighting, and editing. The final video was exported as an image sequence and compiled in Blender.
GrantZou.dev
Developed this personal website and visualized probability simulations using React.
Thanks for visiting!