Kobey Buhr

Software Developer

About me

Hi, I'm Kobey Buhr and I'm a Software Developer. I've been programming and working with different types of software for about 2+ years now. I'm constantly looking for new ways to improve my skills and working on projects is one of my favourite ways to learn!

Java was the first language I learned and I quickly began building desktop apps as soon as I had the fundamentals down. I've gathered a lot more tools since! Now I have a few projects under my belt including a scheduling website I built for a local business. You can see more about my projects below and also on my Github page (link below).

(Read more)

Picture of Myself

My Projects

Work Schedule


This was the first project I built with the intention of deploying it to serve the needs of a business. The business required a method to create a work schedule that could be easily modified and accessed by its employees. The solution was a website with a simple front-end, written in HTML, CSS, and JavaScript and a back-end powered by Google's 'Firebase' NoSQL database system. I wanted this website to feel familiar to employees and be easy to use so I designed it to look like their old paper schedules. All of the necessary information can be edited via dropdowns and a history of changes can be viewed for each day of the month.

Work Schedule
                Schedule Image 2

A typical day for this business involves one employee working the 'Open' shift and another employee working the 'Close' shift. This scheduling system was created with that in mind so there can only be two employees working in one day. However, some small changes could be made to make it possible to add any number of shifts in a day.

Use the following information to access a demo version of the website:

Password: dasf-1289-a!

Project files:


Tac Board Game Image

I began this project shortly after finishing my first programming class in university. 'Tac' is a german board game that I have been playing with my family for a few years now. The goal of the game is to get you and your partner's four marbles around the board and into the four slots above your home base. Here is a link to the rules if you would like to learn more.

Looking back, I was probably a little too ambitious taking on a project of this size shortly after learning the programming fundamentals. However, I had been learning how to use Java's 'Swing' library for graphics in my spare time so I thought this project would be a good opportunity to practice using the library.

The result was a functioning board game with some pretty poorly designed code. At the time, I wasn't familiar with any software design principles or patterns so the code became very hard to manage. I plan to rewrite the whole game now that I understand the importance of proper design but I'm still happy with how it turned out considering how much programming experience I had at the time.

Ripple Simulator


This project was just a simple idea that I came up with to practice programming with Java. I had the idea to simulate rippling water from a top-down perspective using a series of dots. First, I found the mathematical formula for the rippling effect online and then all I had to do was plug it in to the 'size' and 'colour' attributes of the dots.

Ripple Simulation Image
Ripple Simulation Image 2

Above I've attached an image of the graph of the function. The y-value of the function is used to change dot size and the blue and green values of the dot colour to accentuate the effect. The x-value represents time. It works by creating a 'donut' that expands from where the screen was clicked and when a dot is inside of the donut, it begins 'rippling'.

Colour Guessing Game

Color Guesser Result Page

RGB Guesser was another smaller project that turned out to be surprisingly fun to play! The goal of the game is to guess the RGB (Red, Green, and Blue) values of the background. Every time you play, the RGB values of the background are randomly generated and after guessing, the background colour of the 'results' panel is the colour that the user guessed. This way the user can easily compare how close their guess was to the actual colour.

Spam Detection


Here I used Python and its Data Science libraries to create a machine learning model that detects spam with 98% accuracy. I used the Numpy and Pandas libraries to manipulate the data, Matplotlib to visualize it, and Scikit-Learn to train a machine learning model. The data used for training the machine learning model was found on All of this was done in a Jupyter Notebook that can be found on my Github page using the link below.

Most Common
                Words in Spam