Projects

These are a few of my favorite technical projects, built to challenge myself and learn new skills as a computer scientist and professional.

Mancala Engine Project

What it is: A Python-based Mancala engine developed for an artificial intelligence course, built to assess search strategies and decision-making algorithms within a structured game environment.

Tech stack: Python, Jupyter Notebook, NumPy, dataclasses, matplotlib, time, random.

Why I built it: This experience highlighted the critical role of performance in search algorithms. Through comparing plain minimax with alpha-beta pruning, I observed how appropriate optimization can substantially reduce the number of states that needed to be explored.

What I learned: This project taught me how much performance matters in search problems. Comparing plain minimax with alpha-beta pruning made it much clearer how the right optimization can dramatically reduce the number of states that need to be explored.

Heartland's Adventure

What it is: Heartland's Adventure is an action-adventure game inspired by classic top-down games, featuring exploration, simplified combat, light puzzles, and a dance button.

Tech stack: Godot 4, with art adapted from the Ninja Adventure asset pack.

Why I built it: I wanted to prove I could turn a game idea into a finished product. Inspired by the indie developer scene, I aimed to contribute in any way I could.

What I learned: This project gave me a practical introduction to how games are built frame by frame, but it also taught me a lot about iteration. Feedback from other people made the game better, even when it forced me to revise ideas I was originally attached to. As Stephen King writes: "Kill your darlings, even when it breaks your egocentric little scribbler's heart."

Boulder County Nature Association Project

What it is: This application serves a nonprofit organization, incorporating a wildlife search tool and an administrative system for record management. My primary focus was backend development.

Tech stack: Flask, SQLite, and API-based backend development.

Why I built it: This project came through Blueprint Boulder, where our team develops software for a nonprofit partner. The application improved the organization's wildlife record management and enabled volunteers and visitors to access information efficiently, resulting in a tangible impact.

What I learned: Initially, my familiarity with Flask and SQLite was limited, which necessitated rapid learning. The project also fostered my development as a collaborator, including effective use of Git in a team context, posing pertinent questions, and contributing during periods of uncertainty. I enhanced my ability to balance seeking assistance with independent learning.