I am mostly a front-end software developer and a student at Iowa State University, pursuing a B.S. in software engineering. My technical skills are well-rounded, with proficiency in languages like Java, JavaScript, C, C++, and HTML, and intermediate skills in Python and SQL. I have hands-on experience with frameworks and tools such as React.js, MongoDB, Node/Express.js, Git, Bash, Android Studio, and Flutter.
In my free time, I also enjoy indulging in my personal hobbies such as aquarium upkeeping and maintenance, marching band, and playing video games!
View ResumeDeveloped the front-end of an app using Android Developer Studio, leveraging Java as the main programming language. Collaborated with other frontend and backend developers to build a successful API-driven integration with the app backend APIs. Implemented a file management system where users can create, delete, and organize documents and folders within a directory. Enabled real-time collaboration using WebSocket to allow live sharing of documents between multiple users. Provided version control capabilities to track changes made to documents over time. Performed unit and integration testing to ensure that all features of the app work as expected.
Planned the structure of the game, including classes to handle game logic, character stats, Pokémon attributes, and interactions. Implemented a procedural dungeon generator to create randomized maps with rooms, corridors, and obstacles. Designed algorithms for placing Pokémon, items, and trainers within the dungeon. Implemented a pathfinding algorithm using Dijkstra's algorithm to control NPC actions.
Implemented the classic game Minesweeper in C++, replicating the core mechanics and user experience of the original game. Developed multiple difficulty levels, ranging from beginner to expert, with varying grid sizes and mine counts. Created a robust user interface, allowing players to easily interact with the game, reveal tiles, and flag potential mines. Integrated game logic to handle automatic tile revealing for empty tiles and proper handling of win and loss conditions.