Joseph
Austin
Bachurski

Picture missing...

Hi, I'm Austin, welcome to my portfolio page.

Please make a selection from the menu on the left, thanks for stopping by.

Skills
  • C++

  • Python

  • C#

  • C

  • CMake

  • SQL

  • Rust

  • x86 Assembly

  • JavaScript

  • HTML & CSS

  • About Me

    Hi, my name is Austin Bachurski (I've gone by my middle name my whole life) and I began my self-taught journey into programming in January 2021, starting with C++ and Python. This followed a successful 18-year career in the automotive field, where I spent 4 years as a supervisor and 14 years as a mechanic.

    I've been a geek/nerd most of my life, we got our first computer when I was 11 and I was constantly glued to the thing. Mostly to play Rodent's Revenge... I remember my mom getting me a C++ book when I was an early teen but unfortunately didn't get much past hello world before coming of age to drive and getting interested in cars as a result. This led to the career as a mechanic while being a tech enthusiast, building computers and gaming on the side.

    After turning a wrench for almost 20 years I decided I wanted to do something different and pursue learning programming in that language that I started learning so long ago, C++. Thus, starting my self-taught journey into learning to code in January of 2021. I bounced around between C++ and Python when I first started learning and I think it's a great way to learn. C++ forces you to understand what's really going on under the hood, where Python makes it easy to get something pretty on the screen. I transferred to a Geographic Information System (GIS) role in July of 2022 to increase my exposure to the tech side of things. This was a great boon to my learning as it allowed me to put my coding skills to use in a real-world scenario.

    After three and a half years of self-taught learning I finally got hired as a Software Test Engineer this year, albeit part time, but I've learned a lot in the short amount of time I've been doing it. Finally getting exposure to multiple languages at once and using source control with people other than myself feels great. Getting feedback from people with real developer experience has been wonderful and Getting feedback from people with real developer experience has been wonderful and I've been happy to find that I do genuinely enjoy the work and I look forward to a successful career as a developer in the future.

    Work History


    GIS Specialist - City of Kalispell, MT - IT Department (July 2022 - Present)
    Software Test Engineer - Cyanna Education Services LLC (June 2024 - January 2025)
    Mechanic Supervisor - City of Kalispell, MT - Public Works Department (January 2018 - June 2022)
    Projects

      Tetris Clone

    Screenshot of the game.

    A Tetris clone that runs in the terminal, written in C using ncurses.

    I wanted to improve my C skills, as well as practice GDB, so I wrote this Tetris clone that runs in the terminal using C and the ncurses library for the ui.





      Advent of Code 2024

    Screenshot of AoC calendar.

    Collection of my solutions to the 2024 Advent of Code.

    Mostly C++, with a bit of experimentation with Rust. I had a ton of fun and learned a lot as I went through each day. I've been able to complete all the part one puzzles by myself so far, but some part two problems stumped me and I had to look at what other participants were doing to solve the puzzle.





      Five-Function Calculator

    Screenshot of calculator in action.

    Expression evaluator calculator that parses percent, addition, subtraction, multiplication, and division using the "Shunting Yard" algorithm.

    The calculator outputs information about every decision that was made during evaluation to a "Trace Tab" as well as generates a "trace file" containing said output. This was a take home project for a company I interviewed with back in January of 2024. The specification is in the repository, and the project had to be completed in one week.





      Doubly Linked List Implementation

    Screenshot of controller in action.

    Repo for storing some data structures and algorithms implementation attempts.

    Currently only has an implementation of a std::list from the C++ Standard Library. Not exactly true to the original but I learned a lot implementing this. Constructors and destructors for the list as well as the list nodes print information to the console to show what's taking place as nodes are created and destroyed. The list features a forward iterator, 5 insertion methods, 4 removal methods, 3 capacity methods, and 3 element access methods. I included operator[] as well as a constructors taking a value or a std::initializer_list for learning purposes.





      Services Controller for Esri Enterprise Portal

    Screenshot of controller in action.

    This application provides a simple interface that allows users to quickly view and control the state of services on an Esri Enterprise Portal Server.

    The directory, name, type, and state of every service on the server can be viewed via an easy-to-understand context menu and selectable text frame. Users can start or stop all services at once with a couple clicks of the top menu bar, allowing server maintenance tasks or service modifications to be performed without wasting time clicking stop or start on dozens of services using ArcGIS Server Manager, or manually maintaining a long list of services in JSON format using ArcGIS Server Administrator Directory.





      Crime Map Update Wizard

    Screenshot of the wizard.

    This tool was written to help the volunteers at the Kalispell Police Department update the Kalispell Crime Heatmap quickly and easily, no more copy/pasting in Excel, and no need to open ArcGIS Pro.

    Crime Map Wizard is a newer version of the Crime Map Update Assistant (previously written in Python) that provides a graphical wizard with the previous three geoprocessing scripts improved and condensed into a single script. The user interface and Excel parser is written in C++ using wxWidgets, and the geoprocessing script is written in Python using the ArcGIS ArcPy module.





      Building Permit Parser

    Screenshot of the parser.

    Spreadsheet parsing tool to help make work easier for my coworkers in the Building Department.

    The tool parses out building permit information from a tracking spreadsheet to quickly provide totals for yearend reports. The tool automatically loads and parses the sheet for the previous calendar year and displays the information to the user. A "Copy" button near each displayed value loads the information into the operating system clipboard so it can be easily pasted into a report document with minimal effort required by the user. I submitted this as the final project for the Udacity C++ Nanodegree course.





      Law Enforcement Warrant Generator

    Screenshot of the application.

    Document generator application that produces search warrant documents in .docx format for law enforcement, written in C# using AvaloniaUI.

    This application was written to aid my police department in generating search warrants. It allows the officer to simply enter in the pertinent information for the warrant and avoid having to type out a bunch of boilerplate, or risk incorrect data being included where content was copy/pasted from previous search warrants. The tool can produce both the Search Warrant Application document and the Search Warrant document itself for many of the common warrants that are issued. This greatly reduces wait time for the warrant to be issued, especially in the case of a barricaded suspect.





      Battleship Game

    Screenshot of the game board.

    Console clone of the Battleship board game, written in C#. Capstone Project for the Skill Foundry "Object-Oriented Programming in C#" course.

    Contains unit tests for game and score functions, capable of player vs player, player vs computer, or computer vs computer battle. This was my first attempt at a game and the capstone project for the Skill Foundry C# 200 series course.





      Building Permit Monitor

    Screenshot of the parser.

    A simple system tray/notification area application that monitors a database for newly issued building permits.

    This tool was written to assist in tracking and mapping building permit data. The UI is a bit strange at first glance - I wanted something compact that could live in/around the notification area. I get a popup notification from the tool when there's a new permit to record. Clicking the notification spawns the validation window, just above the task bar that allows the information for the permit to be reviewed at a glance rather than digging through the permit submission to find what I need.





      Mailer Generator

    Screenshot of the parser.

    Automatically generates a mailing list and accompanying map for a given address, assessor number, or tract id.

    Generating mailing lists and maps is something that I previously did manually with GIS software. Automating most of the process allows me to produce the required map and mailing list in less than 2 minutes of receiving an emailed request.