Programming

This Portfolio - UI/UX, Publishing

I created this portfolio from designing to publishing over 2 years. Over this time, I've learned a lot about HTML, CSS, and Javascript that I've been able to apply to this site. Some of this was the specific tags and functions I've chosen to use, but a lot was the features I added or removed. You can see some of the changes in the Portfolio Prototype section, found below.
During my time creating Mueller Irrigation's farm database and Irrimap, I learned a lot about web publishing. I was able to bring this experience to this portfolio, as you can see. Even in the development of this site, I was able to learn more about web publishing, including creating emails with my chosen URL and sending them to my phone.
Code may be available upon request.

Irrimap - Python, Difficult Technology

Irrimap was created as a way to visualize evapotranspiration data from Google Earth Engine. The main difficulty with this was the lackluster documentation that was rapidly aging out. At one point, I was forced to switch the program from JavaScript to Python so I could get external weather data and authenticate correctly. This was due to Google changing their authorization workflow but not updating the documentation. Additionally, Python was the first language I learned, but hadn't touched it since so relearing it was a challenge.
In the end, this is probably my least favorite project, mainly due to certain concessions I was forced to make. Luckily, it works as expected, just not as hoped.
Guided tour may be available upon request.

Meuller Irrigation Farm Database - Full Stack Development, Linux, Server Setup

This project was the main component of my practicum. I was told to redesign their existing pen and paper database into a new MySQL database. Additionally, due to the lack of technical knowledge, I was also required to build them a UI frontend to interact with the database.
The development of this system required me to learn Meuller's systems and design iteratively. With each iteration, a previous assumption would be found incorrect, and had to be corrected. It forced me to juggle many languages, from PHP to MYSQL to CSS, and later to Python as I had started my next project.
Guided tour may be available upon request.

Paint App, Unfinished - C#, Ability to Quit

With this project, I wanted to create something akin to MS Paint, but finished that quickly. From there, I decided to add more features like resize and magic wand tools. After some minor problems, I took a step back to look at what I'd accomplished and decided it wasn't worth continuing.
A lot of times with side projects, and even parts of code, people can get too attached and keep banging their heads against the wall. A lot of times, it's better to rewrite something from scratch than keep chipping away at minor bugs which is a skill I've had to develop.
Code may be available upon request.

Portfolio Prototype - Iterative Designing, Response to Feedback

This image shows a prototype of this portfolio from when I was at Lethbridge Polytechnic. As seen, some features were cut for simplicity's sake, but a lot is the same. The dropdowns were part of a previous experiment that I changed to work dynamically with the HTML content, which was a lot of work, but I had very few places to use it so I was able to cut it.
Because this was a school project, I got a lot of feedback from my Professor that I was able to act upon. Most of it was design, and all of that was needed, but some of the changes I made on my own accord to fit with the more streamlined design. One of the more noticable ones is the color palette.
Code may be available upon request.

Merge Sort - JavaScript, Problem Solving

The creation of a merge sort was my attempt to understand O(n log n) time. When I started, I was attempting to recreate a quick sort but ended up with something more accurately resembling a merge sort.
This project demonstrates my problem solving and extrapolative reasoning skills. Throughout my education, and now career, I have been known to experiment. Projects like this help me to parse larger problems into smaller, simpler ones.
Code may be available upon request.