Projects

Professional Projects

Frontiers Info is a web application that provides information about Frontiers: Whelming the West, a deck-building card game. Building the game was a five-year passion project that culminated in a successful launch in July of 2025. In order to help players learn the game, I created a web application that provides information about the game, including the rules, an interactive card encyclopedia, and commentary on how all of the cards interact with each other.

The application also includes a separate score counter app that is used for tracking resources and life totals during a game. The score counter app has convenience features such as being able to assign damage and enemy discard to a player, and then undo and reassign to different players. The Score Counter app is installable as a PWA, and can be used completely offline.

Visit the playfrontiers.today to learn more about the game, or to purchase a copy of the game for yourself.

CMG Inventory

Screenshot of the user interface for the CMG Inventory application Ask a Question

CMG Inventory is an application for tracking and managing warehouse inventory. Built for a commercial greenhouse client, this application is responsible for the management and reporting of inventory in a fast-paced production environment. This application includes functionality for management of inventory in an office setting as well as quick lookups and inventory movement and creation using a barcode scanner while on the warehouse floor.

Along with the inventory management, the application is also used for managing tags, raw materials, and tracking usage of materials and production statistics. The application is paired with another application that managed bundling and shipping of finished products using an interactive tool called Kitmaker.

If you're interested in more information, or would like a demonstration of this application, please contact me and we will be happy to answer any questions!

PALS Haven is an animal shelter in Lodi, California. Trial and Errror partnered with PALS Haven to renovate their website and enable them to manage information about pets, news, events, and other information about PALS Haven in an easy-to-use web application. With their new website, PALS Haven has enabled their volunteers to create content and promote their animals much more easily and keep interested users informed of new developments and available animals much more quickly and easily.

Visit the PALS Haven website by clicking the button to learn more about their organization and see some of their lovely animals in search of their forever homes, as well as learn about the events that they put on for the community.

Personal Projects

Go Do Chores

Go Do Chores is a web application that helps you keep track of chores that need to be done around the house. It allows you to set up recurring chores, automatically scheduling the chore based on a configured interval, but also allows you to manually schedule one-time todo tasks.

I built this project to help my family keep track of recurring chores and one-time tasks that need to be done around the house. The design was focused around simplicity and ease of use, enabling users to quickly mark chores as completed without requiring the user to spend too much time on the app. The design was set up to be mobile-first so that users who don't like to user computers can quickly pull up the app, check the chore off the list, and then close their phone and get back to work.

Go Do Chores was built in Go using GORM for database interactions and Templ for templating. Click the GitHub link to learn more about the project.

Money Manager

Money Manager is an application for keeping track of bills, analyzing your expenditures, and generally managing your money. As you add expenses and pay bills, Money Manager will keep track of how much money is in each of your accounts.

Money Manager was built in Django with a Postgres database. Click the links below to view the site or check out the code!

Past Projects

Flask Microservices

Flask Microservices is an application built as an example of how to use Flask to develop simple microservices that can work together to achieve a desired goal. Built entirely in flask, I developed my own system of messages that would communicate between the services in a unified way and structured them to be run using docker compose so that deployment and improvement of the individual services would be as simple and painless as possible.

The motivation behind the application was to build utilities that would help my in my first years of being a father. One of my jobs was to stay up until 2:00 a.m. so that I could mix powdered formula with water to prepare food for my daughter for her overnight feeds. Since it was difficult to remember the exact ratios and calculate how to mix her feed, I developed a calculator that would allow me to set parameters on the desired output and let it calculate the exact mixture of powder to mix with water. I then also developed utilities for tracking how much food she was eating during the day and her water intake so that we could monitor trends in her weight and tie it back to her specific caloric intake and water consumption over a period of time, which helped us to communicate with her nutritionist and develop a good plan for her.

Each of these tools could be run separately as microservices with their own databases so that I could work on each one individually without affecting the other services and so that I could deploy each service on its own or as part of the overall group.

Snake Sense

Snake Sense is a python-based sentiment analysis project built on Spacy and TextBlob. The goal of this project was to learn how to use Spacy and TextBlob. I started by using the tools to analyze Yelp reviews to be able to determine overall sentiment of the reviews. I used the tools to assign an overall score of the restaurant based on the sentiment. Next, my plan was to connect to the Google Maps API to get the latitude and longitude of the restaurant, and then calculate driving distance from a user's current location. I would then use the distance to assign a score to the restaurant based on how far away it is from the user. Finally, I would combine the distance score with the sentiment score to assign a final overall score to the restaurant, and then rank the restaurants based on their overall score in order to help users to find restaurants that were either close by, or had a good overall sentiment score and would be worth the drive.

The project was started during a lab day when I worked at Lofty Labs, and so I had only 8 hours to complete the project. Unfortunately, I was unable to complete the project due to these time constraints. However, I learned a lot about sentiment analysis and how to use Spacy and TextBlob, and was able to at least get the sentiment analysis working. I used it to rank restaurants that served fried chicken in the Arkansas area, and presented the results to the team. Because my team were all native residents of Arkansas, they all had their own opinions about which restaurants were the best, but they were able to validate my methodology and confirm that I had identified some of the most popular fried chicken restaurants in the area, without having visited the area myself, which I consider to be a success. Since starting the project, I have attempted to continue working on it, but because of changes to the Yelp API and Google Maps API, I have encountered more challenges than I had initially anticipated.

PySnake

PySnake is a python-based snake game built using the PyScript library. At the time of creating the project, PyScript was a new library that was not yet widely used, and so I built this project to get real experience using it. The project goal was to build the classic Snake game that would run entirely in the browser using PyScript. The game allows the user to control a snake that moves around the screen. The snake can move up, down, left, and right, and can eat food to grow longer. The game is over when the snake hits the edge of the screen or hits itself.

The project was another lab day project from when I worked at Lofty Labs, and although I had only 8 hours to learn PyScript and build the game, I was able to complete it on time. I was initially very hopeful about the applicability of PyScript to some work projects, but after getting experience with it, I found that it was not well refined at the time and I came across a lot of roadblocks that resulted in either cryptic error messages or no errors at all. I had to piece together the code from the PyScript documentation and a few blogs that I found online, and the overall process was more challenging than I expected and not very rewarding. Since then, it seems that the PyScript ecosystem has improved, and so I believe that revisiting this project, I might have a much better experience.

Cat Face Detector

Cat Face Detector is an Artificial Intelligence-based facial recognition learning model trained to detect pictures of my cats. You can upload a picture to the model, and it will tell you if it thinks there is one of my cats in the photo, and which cat it is. It may take a minute or two to load, because it is hosted on a free platform, but the proof of concept is fun to play with!

TnE Assistant

Trial and Errror Assistant is a voice-activated interface that allows you to quickly and efficiently access the information and media across the web. You can use it to help play your favorite media, look up information, and other everyday tasks! TnE Assistant was designed as a privacy-conscious alternative to Voice Assistant devices like Amazon Alexa and Google Assistant.

Fetcher

Fetcher is a script created to enable local viewing of YouTube videos. It includes error handling, code documentation, and logging. The purpose of Fetcher is to demonstrate the principles of clean code while also providing a useful tool. If you want to watch videos without an internet connection, or watch high-quality videos with a slow internet connection, this tool may be helpful for you!