What I've been working on.
Personal portfolio website built using a Python and Flask backend and a responsive Bootstrap CSS front end, deployed on AWS.
GitHubUtilizing the OpenAI API, this application generates a vocabulary worksheet for ESL/English teachers based on user input.
GitHubPython implementation of the board game Halma featuring AI implemented with minimax algorithm and alpha beta pruning.
GitHubData analysis which aims to identify the correlations between an individual's music tastes, listening habits, and self reported mental health.
GitHub
This is a Python implementation of the board game Halma, using the Pygame library for the graphical user interface. Halma is a two-player strategy board game invented in the 19th century. This version of the game is played on an 8x8 square board between a player and the computer. Similar to the game Chinese Checkers, gameplay involves players taking turns moving their pieces from their starting corner of the board into the opposite corner before their opponent.
I decided to build this project after finishing my second quarter as a CS student at Oregon State University. My motivation for the project was to apply some of the heavy concepts I've learned so far in my coursework towards a tangible working product. Working on this game pushed me to get my hands dirty with larger scale Object-Oriented Programming, recursion, modules, and thorough documentation as well as the opportunity to learn more about AI.
While I ran into many challenges while working on this project, the two biggest ones were move validation and evaluating states of the game board to enable proper decision-making by the AI.
This was a project I did as a team in the Spring 2023 Beaverhacks Hackaton at Oregon State University. The theme of the hackathon was leveraging AI. My team and I decided to build a tool for English teachers, like myself, to create a tool that could provide real-world value. Utilizing the OpenAI API, our app generates vocabulary worksheets for teachers based on unique user input.
The app features an explanatory index page and a button to take users to a form. The form page allows users to provide input on the type of worksheet they want to generate based on:
Once the user completes and submits the form, a call is made to the OpenAI API, passing the form input as part of a prompt, and a worksheet is generated in a visually pleasing format. The user is routed to a download page where they may preview their .PDF worksheet and download or print it.
While our team ran into many challenges working on the project together, such as working collaboratively in Git and working across multiple time zones, I will highlight some of the specific challenges I faced in my own share of the work:
Upon finishing our app, my team and I successfully deployed it on Heroku, where we had it live for the duration of the hackathon judging, but took it down shortly after, so as not to rack up expenses. The project was a valuable way to build something as part of a team, learn new technologies, begin to understand server and router functionality and API's, and deploy a project for the first time.
I created this website to serve as a personal portfolio for my professional career as a software engineer after completing my first year as a CS student at Oregon State University. Up to this point, my only web development experience was an Intro to Web Dev class focused on the MERN stack. With this app, I wanted to challenge myself to practice the concepts I learned from that class using different technologies.
Through creating this project, I am happy to take away a much stronger grasp of creating applications with Flask and frontend styling with Bootstrap CSS. I had minor experience using those technologies in a previous hackathon project, and wanted to get my hands dirty with them again and really understand them better. It was a great exercise in reading documentation and acquiring new skills in order to create the portfolio website I envisioned.
While developing this project, I encountered several significant challenges that provided valuable learning opportunities. The primary focus was on setting up an efficient deployment environment on AWS Elastic Beanstalk and establishing a seamless CI/CD CodePipeline from GitHub.
Overcoming these challenges has not only enabled me to successfully deploy my portfolio website but also honed my skills in AWS, CI/CD pipelines, and infrastructure management. I am now better equipped to tackle future projects with confidence and deliver higher quality results.
I worked on this project as part of a team for a Health and Healthcare Hackathon, where we sought to address mental health and wellness, an increasingly prominent topic in health discussions. My team aimed to contribute value and problem-solving to the healthcare field by using data analysis to understand how music connects to mental health. Through our data analysis, we aimed to identify potential correlations between an individual's music tastes, listening habits, and self-reported mental health. The goal was to provide valuable insights for professional music therapists, enabling them to better comprehend the relationship between music and their patients.
We initiated our data analysis process by acquiring a relevant public dataset from Kaggle and cleaning and analyzing it using Python in Jupyter Labs. Employing various Python libraries such as Pandas, Numpy, Seaborn, and Matplotlib, we skillfully manipulated the data and crafted insightful visualizations. Our findings were thoughtfully summarized, providing valuable insights that can contribute to the field of music therapy.
Participating in a hackathon can be stressful and challenging as you are part of a collaborative effort to build something in a short time. My team ran into a number of challenges during our development process:
Overall, I am proud of my team's ability to come together to develop this project on the heels of finishing our first ever Intro to Computer Science course together at OSU. Jupyter labs was new to us all, we knew very little about Git and Github, and we had little to no experience using additional python libraries such as Pandas, Seaborn, and Matplotlib. We achieved working experience reading through documentation for new technologies and contributing to a collaborative project in a time sensitive environment.