My selected projects

My selected projects

My selected projects

This is a curated selection of projects completed during my Master's in Computer Science at Portland State University, demonstrating my skills in software engineering across various domains.

TriMet

I worked with TriMet bus location data, which was published daily through an API, and combined it with route data scraped from their website. After cleaning, validating, and transforming the data, I loaded it into a database. I set up a pipeline using Apache Kafka to manage the daily data flow. Once we gathered enough data, I created visualizations to reveal patterns in TriMet bus activity.

TriMet

I worked with TriMet bus location data, which was published daily through an API, and combined it with route data scraped from their website. After cleaning, validating, and transforming the data, I loaded it into a database. I set up a pipeline using Apache Kafka to manage the daily data flow. Once we gathered enough data, I created visualizations to reveal patterns in TriMet bus activity.

Stock Alert Pro

Developed a website subscription service that alerts users when their specified stock hits their desired buy or sell price. By integrating with the Polygon.io stock API, we retrieved real-time stock ticker information and prices. For each user, the system continuously monitored their selected stocks, checking if the prices met or exceeded their targets. When the criteria were met, a Python script automatically triggered an email notification, keeping users informed the moment their stock reached the desired price.

Stock Alert Pro

Developed a website subscription service that alerts users when their specified stock hits their desired buy or sell price. By integrating with the Polygon.io stock API, we retrieved real-time stock ticker information and prices. For each user, the system continuously monitored their selected stocks, checking if the prices met or exceeded their targets. When the criteria were met, a Python script automatically triggered an email notification, keeping users informed the moment their stock reached the desired price.

OctoSolver

Developed an AI-driven program to solve Octopawn, a 4x4 variant of Hexapawn. The state-based AI algorithm evaluates every possible board configuration, identifying the optimal move for each player and determining the game's outcome under the assumption of perfect play. The program generates a comprehensive JSON file, 4pawn.json, where each key represents a unique board state, and each value indicates the winner assuming optimal strategies are employed.

OctoSolver

Developed an AI-driven program to solve Octopawn, a 4x4 variant of Hexapawn. The state-based AI algorithm evaluates every possible board configuration, identifying the optimal move for each player and determining the game's outcome under the assumption of perfect play. The program generates a comprehensive JSON file, 4pawn.json, where each key represents a unique board state, and each value indicates the winner assuming optimal strategies are employed.

Rust Blog

Developed a dynamic blog platform in Rust, designed to enable users to seamlessly create and publish posts. The site features two primary pages: one for displaying all blog entries and another with a form for submitting new content. I crafted a custom REST API as a Rust library, facilitating the addition, retrieval, and deletion of blog posts, all managed within a JSON file serving as the project's database. The frontend was elegantly rendered using Tera templates, while Rocket was employed to efficiently handle API interactions.

Rust Blog

Developed a dynamic blog platform in Rust, designed to enable users to seamlessly create and publish posts. The site features two primary pages: one for displaying all blog entries and another with a form for submitting new content. I crafted a custom REST API as a Rust library, facilitating the addition, retrieval, and deletion of blog posts, all managed within a JSON file serving as the project's database. The frontend was elegantly rendered using Tera templates, while Rocket was employed to efficiently handle API interactions.

Concept Tree

This program enables users to organize and store various concepts within a repository, utilizing a fully implemented 2-3 tree data structure that supports insertion, deletion, display, and search functionalities. The concepts are encapsulated within derived classes that inherit from a base concept class, leveraging virtual functions to achieve polymorphism. The development of this program was driven by multiple learning objectives, including mastering the implementation of a 2-3 tree, operator overloading, inheritance, virtual functions, polymorphism, and proficient use of the Standard Template Library (STL).

Concept Tree

This program enables users to organize and store various concepts within a repository, utilizing a fully implemented 2-3 tree data structure that supports insertion, deletion, display, and search functionalities. The concepts are encapsulated within derived classes that inherit from a base concept class, leveraging virtual functions to achieve polymorphism.

TriMet

I worked with TriMet bus location data, which was published daily through an API, and combined it with route data scraped from their website. After cleaning, validating, and transforming the data, I loaded it into a database. I set up a pipeline using Apache Kafka to manage the daily data flow. Once we gathered enough data, I created visualizations to reveal patterns in TriMet bus activity.

Stock Alert Pro

Developed a website subscription service that alerts users when their specified stock hits their desired buy or sell price. By integrating with the Polygon.io stock API, we retrieved real-time stock ticker information and prices. For each user, the system continuously monitored their selected stocks, checking if the prices met or exceeded their targets. When the criteria were met, a Python script automatically triggered an email notification, keeping users informed the moment their stock reached the desired price.

OctoSolver

Developed an AI-driven program to solve Octopawn, a 4x4 variant of Hexapawn. The state-based AI algorithm evaluates every possible board configuration, identifying the optimal move for each player and determining the game's outcome under the assumption of perfect play. The program generates a comprehensive JSON file, 4pawn.json, where each key represents a unique board state, and each value indicates the winner assuming optimal strategies are employed.

Rust Blog

Developed a dynamic blog platform in Rust, designed to enable users to seamlessly create and publish posts. The site features two primary pages: one for displaying all blog entries and another with a form for submitting new content. I crafted a custom REST API as a Rust library, facilitating the addition, retrieval, and deletion of blog posts, all managed within a JSON file serving as the project's database. The frontend was elegantly rendered using Tera templates, while Rocket was employed to efficiently handle API interactions.

Concept Tree

This program enables users to organize and store various concepts within a repository, utilizing a fully implemented 2-3 tree data structure that supports insertion, deletion, display, and search functionalities. The concepts are encapsulated within derived classes that inherit from a base concept class, leveraging virtual functions to achieve polymorphism. The development of this program was driven by multiple learning objectives, including mastering the implementation of a 2-3 tree, operator overloading, inheritance, virtual functions, polymorphism, and proficient use of the Standard Template Library (STL).