Things I have worked on include:

Visit Montana - Official State of Montana Tourism
  • Integration with the state of Montana's business directory, a comprehensive database of businesses that can now be filtered by region, category, and more.
  • Integration with Salesforce, a highly customizable CRM with many API endpoints for managing contacts, inquiries, and shipping orders.
  • Integration with Storyblok, a headless CMS with a robust API for managing content.
    • Coding over 100 custom components for drag and drop usage within the Storyblok editor.
    • Designing a workflow for non-technical users to manage content on the site.
  • Integration with Algolia, a search engine for quickly searching through the vast amount of content on the site.
  • Livewire Frontend
  • Storyblok CMS
  • Salesforce Integration
  • Algolia
  • Laravel Framework
  • PHP 8+
  • MySQL
State of Montana Commerce Department
  • Worked with a team of individuals to organize and migrate a huge amount of content from a legacy system to a new, more modern, and more secure system for the state of Montana.
  • Brought multiple departments together under one website, and balanced the needs of each department with the goals of the overall website.
  • Integration with Cascade CMS, a picky XML based CMS chosen by the state which came with a number of quirks to work around.
  • Managed a team of developers while working with the state's IT department to ensure a smooth migration.
  • Events Calendar/Alert System
    • Separate backend for departments to manage their own events and alerts.
    • Events + Alerts can be scheduled, and will appear on the main website after an approval process facilitated by admin users.
    • Events can be filtered by department, date, and category.
  • Cascade CMS
  • XML based data exchange
  • Azure Cloud Services
  • PHP 8+
Glacier Country Tourism
  • HTMX
  • Laravel Framework
  • PHP 8+
  • MySQL
  • Algolia Integration
  • Wordpress Integration
Montana Department of Public Health and Human Services
  • Organize vast wealth of content into a more concise and easy to navigate solution
  • Work with Cascade CMS to deliver highly customizable content solutions while maintaining cohesive style and layout
  • Redesign homepage, division landing pages, and internal pages to display relative information/alerts
  • Highlight differences between divisions and their jurasdictions in a manner that makes navigation and information easy to locatate
  • Cascade CMS
  • CSS3
  • JQuery
Missoula Art Museum
  • E-commerce solution in laravel setting.
    • Must be secure, seemless shopping experience
    • Integration with NMI.
  • Custom CMS built from scratch to manage a variety of content including
    • Classes
    • Events
    • Special Events
    • Exhibits (past, present, planned, traveling)
    • Merchandise
    • Memberships
    • Pages and more
  • Microsite for special exhibit, with scroll snapping design.
  • Laravel
  • Custom CMS
  • NMI Integration
  • Session Storage
  • PHP 8+
  • MySQL
Historical Musuem at Fort Missoula
  • Various Department heads all had concerns to address, and call to actions they needed to be strong.
  • Redesign required integration with pre-existing donation system (Bloomerang)
  • Staff was most comfortable with wordpress, and required a good organizational strategy for a large amount of content, including digital access to over 30 boxes of antiqued files.
  • E-commerce solution for Annual event signups with limited spots for each half hour period during the event. UI to aid guests choose time slots, and see how many tickets were available.
  • Wordpress
  • Stripe
  • Bloomerang
  • Ajax
  • CSS3 Transitions
Yellowstone Country Toursim
  • Integration with the state of Montana's business directory.
  • Branded Google Map Functionality for airports, communities, and local businesses.
  • Dynamic homepage that changes based on season.
  • Custom Chatbot with specific knowledge about the area. Answers FAQ about the park, and helps directs web traffic to speicifc site pages.
  • Laravel
  • PHP 8+
  • MySQL
  • Vue.js Trip Builder
  • Chatbot
  • Instant Search Using React + Algolia
  • Wordpress Integration
Missoula Chamber of Commerce
  • Extremely dynamic custom CMS.
    • Allow users to select from a variety of custom components.
    • Content is easily changed and formated.
    • Multiple well organized content types.
    • On demand changes to lead forms for collecting varied information.
    • Secure.
  • Integration with weblink, their pre-exsisting member management software.
  • Cron Jobs for consistent up to date information about events + members.
  • Laravel
  • PHP 8+
  • MySQL
  • XML
  • Weblink
  • Custom CMS

Internal Application Projects

Listing Database Manager

  • We had numerous websites that all utilized our local state business directory.
  • Clients, as well as concerned business owners, would often request we make changes to listings on various websites.
  • The state directory was often slow to update, and before this app, each listing would manually be changed.
  • When the state database did update, we had no uniform way of marking a listing as manually changed.
  • This app manages syncing with the state for each of our five regional areas, writing to seperate databases on seperate servers.
  • No longer a risk of overwritting the changes requested by clients or business owners.
  • Interface allows us to easily change listings.
    • Photo Upload to S3
    • Category Selection
    • General Information
    • Show Pages where the Listing Appears
  • All listings accross multiple servers and databases, all managed in one location.

Custom CMS

  • For a period of time we had numerous websites that required a cms, but also demanded either complex template systems or backend logic.
  • For awhile we used a laravel install for all front end and backend behavior, with a seperate wordpress subdomain to manage the content database.
    • This required us to deploy and upkeep security on two different websites.
    • Become relient on Corcel, an external laravel package that handled database logic for us.
    • Wordpress updates could be incompatable with Corcel, Corcel updates could be incompatible with wordpress version, laravel update meant waiting for corcel, etc.
    • Content structure on wordpress side did not always transition well to our templates.
    • Shortcodes/wordpress packages had to be implimented on the laravel side with custom code.
  • I built an internal laravel package that we could update with each laravel release, allowing us to simaltaniously upgrade and maintain every site using it.
  • CMS allowed for custom components, whose css reflected the same on the backend and frontend.
  • Utilized our internal base css framework, allowing for clients to control complex layouts complete with columns and components that could be switched around with drag and drop functionality.
  • Uses a seperate laravel authentication/guard system, leaving us free to use the default for visitors.
  • In short, has all the features of a typical CMS with the benefits of allowing us staple techniques in our preferred daily workflow.

Events Calendar

  • Our pre-existing events calendar was not user friendly
  • Clients were expanding their needs for events
  • Calendar wasn't smart enough to handle ongoing or repeating events in an apprehensible manner
  • Form validation made users able to correct wrong/missing information on save
  • Unnecessary fields hidden until needed
  • Backend logic created to handle duplicated, ongoing, recurring events
  • Featured images stored to S3 for use across all sites
  • Spotify integration for music events
  • 'Featured event' integration

Cronjob Manager

  • We had many cronjobs running on many different servers
  • Cronjobs had unclear descriptions of what they did
  • Adding, Scheduling, Editting new cron jobs made easy with a beautiful UI.
  • All jobs were now housed in a single place, with their log information, task description, last run times, and next run times readily available.
  • Connected to all our servers, pushing and pulling data as needed in a secure manner.

Other projects (in no particular order)

Skillset of a Full Stack Developer

I can help you with whatever you need when it comes to web technologies. I have taken on all kinds of projects, and am always looking for a new challenge to add to my skills below.

  • Fluent in all standard full stack necessities and niceties.
  • Experience coordinating with third party services, and hooking into third party APIs.
  • Navigating client feedback and using it to further their ambitions for a complete web presence.
  • Building API's for use with other apps, both external and internal.
  • Ajax, Livewire, Vue, React, Angular, HTMX for pulling or pushing information without a page load
  • Balance user needs with client needs, which are at times not the same.
  • Wordpress Expert (Not the kind you see using a bunch of plugins or pre-existing templates, but an actual handwritten PHP native).
  • Worked with databases that have hundreds of thousands of records.
  • Created Single Page Applications (SPA)
  • SEO
  • CSS3 animations/transitions
  • Graphic design skills
  • Photo Editing
  • Security (learned both traditionally and the hard way)
  • Content editting/writing
  • Project collaboration through Asana, Github, and general clean code practices

From Idea to Production

I've taken concepts all the way to production singlehandedly, and have a proven track record of success. It goes a little something like this:

  • Identifying the needs of the client
  • Researching technologies to best fit a project
  • Understanding budget constraints and working within them
  • Designing/Updating a brand identity
    • Creation of logos, icons, and other design elements
    • Style guide including Fonts, Colors, and Brand Voice.
    • Mockups of multiple designs for client review
  • Hosting setup (I've worked with everything there is)
  • Full Stack Development
    • CMS - Wordpress, Cascade, Storyblok, Joomla, Drupal, or even a custom CMS built from scratch
    • Integration with third party services
    • Database design and management
    • Server setup and management
    • Team collaboration through Asana + Github
    • Mobile responsive design
    • Testing and debugging
  • Proofing to client
  • DNS setup - email, subdomains, etc.
  • Launch
  • Ongoing support and maintenance

A Piece of My Story

I began my career by helping small businesses in the Phoenix area build simple websites. At the time, I was entirely self-taught, learning as I went to meet my clients' needs. I loved the work so much that I eventually changed my major from application programming to web development. As my skills grew, I sought out more ambitious projects.

By the time I moved to Missoula, Montana, I had built a strong portfolio and gained enough real-world experience to land a job in the field—despite not having a degree. At Windfall, I worked on a wide range of projects that helped me grow as a developer. I managed large-scale tourism accounts with hundreds of pages of content, developed government-funded websites with strict requirements and specific deliverables, and maintained legacy codebases inherited from other developers through maintanence contracts.

I've seen a lot of ways to acomplish a task over my years, worked with many stacks, and I’m always eager to learn from each new project to better serve as a web application specialist. These diverse experiences have shaped me into a well-rounded, highly knowledgeable developer.

Outside of work, I enjoy all things nerdy including video games, ant keeping, and magic the gathering. I also shoot recurve bows, spoil my cat, and support my partner in her equestrian hobby.