Portrait of Ryan Melmoth

Ryan Melmoth

Software Developer & Systems Administrator

Currently a programmer at the Lake Louise Ski Resort, with four years of professional experience across web development, self-hosted infrastructure, and computer hardware. Graduated with a Diploma in Information Technology Network Systems from SAIT, where I learned a variety of server administration, network diagnostic, and security skills applicable in a business setting. I also apply these skills in creative projects, and am proficient in seven programming languages.

Whether working alone or as a group, I enjoy seeing challenging tasks through to completion and learning new skills along the way.

Email:
(hidden)
Phone:
(hidden)
Location:
Lake Louise, AB, T0L 1E0

Work Experience and Personal Projects

Click on any of the tabs below to view more detailed information.

Programmer for Lake Louise Ski Resort

May 2025 – Present

Sole developer for the resort's self-serve kiosk fleet and next-generation handheld lift scanners, alongside full-stack web development and IT support.

JavaCJavaScriptPHPTALL StackDockerAndroidWebRTCSQLZPLPCI ComplianceIT Support

I am currently employed full time at the Lake Louise Ski Resort as a programmer. Some of my responsibilities and projects include:

Handheld Lift Pass Scanners

The resort uses handheld barcode scanners to validate upwards of 12,000 lift tickets on busy days. In early 2026, as part of a plan to replace all 29 old handheld scanners at each lift, I wrote a custom app for Chainway Android-based barcode scanners using Java in Android Studio. Initially the goal was feature parity with the original scanners, but over the course of development I added new capabilities that take advantage of the new hardware, such as:

  • Device telemetry that reports battery status and temperature, Wi-Fi signal, GPS location, the current operator and lift, a table of bad scans, and more.
  • A live web dashboard that displays all of this telemetry data. It had to be integrated into an existing site, so it uses vanilla JavaScript with the Leaflet library to show GPS locations.
  • Cached operator credentials, allowing logins during emergencies such as a power or Wi-Fi outage at the resort.
  • A WebRTC-based voice chat system for peer-to-peer audio communication, eliminating the need for mountain greeters to carry a radio. Web clients can peer and communicate with scanners and other web users via a custom-built web app. A single TURN server circumvents a resort network rule that prohibits Wi-Fi-connected devices from discovering each other. Operator names are shared during SDP negotiation and shown while communicating (the reason we chose not to rely on an external push-to-talk app).
  • Communication with an on-site ticket printer (using the Zebra Programming Language) that lets the scanner validate an online order via MtnOS and automatically print the ticket at the lift. This was implemented after many guests were turned away at the lift because their passes hadn't been printed yet.
  • Scanning multiple passes in quick succession without waiting for a response, with the ability for the operator to review earlier scans and double-check the results.
Click to reveal pictures of the app running on a Chainway scanner.
Welcome screen on Chainway Scanner

The app's Login screen

Pass Scan popup

A screenshot of a valid pass scan

Kiosk Maintenance and Development

The Lake Louise Ski Resort has multiple self-serve kiosks that guests use to redeem online purchases and Plus Card perks, buy day passes, and print lift tickets. On a good day, between 500 and 800 guests skip the Guest Services line and use the kiosks instead, dramatically reducing the average wait to get up the lift. The kiosks run an in-house Java application that interfaces with the MtnOS API.

In 2025, I was made solely responsible for upgrading the kiosks: swapping out some of the physical hardware (PCs, barcode readers, receipt and BOCA printers) and migrating all twelve machines from Windows 7 to Linux. I overcame hurdles with serial port emulation on Linux and documented the process for setting up the kiosk application on Debian- and Arch-based systems. Some UI elements also had to be adjusted due to incompatibilities with the new OS.

In December 2025, our payment terminals malfunctioned due to an error on our third-party payment provider's side. I implemented a same-day hotfix that let online orders and free Plus Card perks be redeemed and printed, while hiding all day pass purchasing options from customers. Over the course of the three-day outage, the rest of the IT department and I assisted Guest Services in selling Plus Cards to let guests skip the long lineup. During this period we sold over 200 Plus Cards (valued at $120 CAD each) in the lineup alone, saving guests countless hours of wait time.

Full-Stack (Backend + Frontend) Web Development

  • Leading the planning and development of large projects
  • Writing documentation and communicating plans to other team members
  • Coding in JavaScript and working with PHP frameworks such as Laravel + Livewire
  • Ensuring PCI compliance in storefront development; Card data is tokenized by the provider and not stored
  • Updating outdated applications for use with new systems

IT Support

  • Responding to and resolving support tickets from users
  • Answering phone calls and walking users through step-by-step processes
  • Diagnosing and fixing long-standing issues in our code library
  • Maintenance of all user-facing web applications
  • Travelling to various buildings to fix physical hardware issues

Other duties

  • Diagnosing and fixing network issues on Unifi/Ubiquiti network devices
  • Managing Active Directory accounts for company employees
  • Wifi setup for Lake Louise tenants

Digital Media Specialist and Head of IT for Content Creator

April 2022 – Present

Long-running IT and software support for a YouTube content creator: custom game mods and overlay tooling, community infrastructure, cloud storage, and video artwork.

PythonC#Discord APINextcloudGoogle FirebaseREST APIsPhotoshopBlender

Context:

Meaty Jesus is a YouTube Content Creator with subscribers (subscriber count pulled automatically via YouTube's API) and 100+ paid members whose content primarily focuses on showcasing compelling new ways to play video games through the use of custom-made mods, self-imposed restrictions, or both.

I am responsible for managing the workflow between Meaty Jesus and his collaborators, including everything from the software solutions used to the hardware it's hosted on. I am also responsible for all of the custom software showcased in his videos. I handle all the intricate backend configuration so he can focus on the content. Additionally, I proofread his scripts, and occasionally create thumbnail art.

You can contact Meaty Jesus via the business email on his channel homepage: ytmeatyjesus@gmail.com

Cloud Storage Solution via Nextcloud

  • Set up a self-hosted instance of Nextcloud, a free open-source cloud storage solution.
  • Used to share important project files between Meaty Jesus and his editors, and to let me submit my own work, including programs, art, and assets for videos.
  • Hosted at nextcloud.meatyjesus.ca. This is a private server; access is restricted to those who have had accounts created for them.

Community Management and Bot Programming

  • Responsible for administering a Discord server consisting of 250+ community members.
  • Setting role permissions to simplify moderation and restrict access to certain channels.
  • Wrote an application and registered it on the Discord developer portal. It uses a chatroom bot and a Python script to respond to user queries and transfer data between databases. It allows certain privileged users to self-register new accounts on an external web application via API calls to Google Firebase.

Software Development/Modification for Paid Membership Perks

I am responsible for creating modifications to a wide range of video games in order to meet the requirements given to me. Additionally, I program external software that pulls runtime values from games (such as character names and HP values) and have them displayed as a widget overlay for the "Members Only Minigame" segment at the end of videos, enhancing the spectator experience.

Member names are pulled from a CSV and colour-coded in the overlay based on their subscription tier.

Click to show example screenshots of how the final product was used in videos
In-game widget overlay showcase screenshotSecond widget overlay showcase screenshot

Digital Artwork and 3D Assets

Extraction/Creation and animation of 3D models for use in videos. Click to show examples
Animated 3D gauntlets modelAnimated 3D dagger model

Thumbnail Artwork

Thumbnails for videos, used as promotional art and shown to potential viewers before they click. I've included the title, view count, and like count, configured to pull the data directly from YouTube's API. Click to show examples
Monster Hunter World stealth video thumbnail
Views:Loading views
Likes:Loading likes
Ornstein video thumbnail
Views:Loading views
Likes:Loading likes
Dark Souls 2 one-shot video thumbnail
Views:Loading views
Likes:Loading likes
Dark Souls one-shot video thumbnail
Views:Loading views
Likes:Loading likes

Server Systems Administration

October 2023 – Present

A self-hosted Proxmox server running public web services — including this site — with single sign-on, LDAP, and an automated Forgejo deployment pipeline.

LDAPSSORAIDGit CI/CDReverse ProxyProxmoxDocker

A small-scale, privately owned personal server hosting online services for melm.ca and ryanmelmoth.ca (this page). It serves over 40 registered users, averaging an estimated 8 users per day. Most hardware is recycled from prior computer builds to keep costs down.

Server Hardware

  • Single Proxmox node with an i7-12700K, 80 GB of ECC DDR4 memory, a 1 TB SSD, and a 14 TB HDD
  • Planned and priced hardware costs based on needs, accounting for long-term scalability
  • Installation and testing of computer hardware and drivers
  • Additional storage drives can be added to the existing RAID array

Web Services

  • Self-hosted cloud storage, chatrooms, and media sharing.
  • This webpage is currently being served as a containerized Docker app inside a Proxmox LXC.
  • Reverse proxy for serving incoming requests from the internet.
  • Development and deployment pipeline via a self-hosted Forgejo instance (a GitHub alternative). This webpage is automatically updated every time a push is made to the remote repository.
  • Management and upkeep of a private wiki for developer documentation and user guides.

Administration

  • Single Sign-On — only one account is required for all web applications hosted on this server. Invite signup links can be sent via email. Uses OpenID Connect and LDAP.
  • User permission and group management via an LDAP backend. Restricts access to certain services as required.
  • Use of Proxmox's built-in monitoring tools to review server resource usage and troubleshoot anomalies
  • Scheduled backups and multiple parity disks

Game Development

August 2023 – Present

A Super Mario 64 romhack written in C that placed 8th of 94 in a design contest, and a from-scratch social-deduction gamemode mod for Risk of Rain 2.

CC#BlenderGitHub

Super Mario 64 Romhacking Competition

  • A collaborative project for a game design contest with a cash prize.
  • A 2-week deadline from the time of announcement to learn all the tools and submit the finished game.
  • Placed 8th overall out of 94 total entrants, receiving an average audience score of 9.03/10. Click here to see the results spreadsheet. Check row 10, titled "Lush Landslide".
  • Project involved programming in C, exporting animations and models to the game from Blender, while accounting for Nintendo 64 hardware limitations.
  • Used GitHub for version control and collaboration.
Click to reveal screenshots:
Super Mario 64 romhack screenshotSecond Super Mario 64 romhack screenshot

Risk of Rain 2 "Risk of Traitors" Gamemode

  • Designed and coded a custom gamemode from the ground up for Risk of Rain 2.
  • Inspired by games like Trouble in Terrorist Town and Among Us, Risk of Traitors completely overhauls the objectives of the game to turn it into a social deduction game where a group of innocent players must try to proceed through the level. Meanwhile a group of players secretly labeled as "Traitors" must try to stop the innocent players from winning by eliminating them. Traitors know who is on their team, but Innocents have to try and figure out who to trust.
  • Major balancing changes to drive the PVP focus of the gamemode.
  • This gamemode was featured in a Meaty Jesus video, as well as a RayDans video.
  • Uses the BepInEx modding framework to hook into the game at runtime.
Click to reveal screenshot:
Risk of Traitors gamemode screenshot

Skills and Experience

Click on any of the skills listed for more information.

Programming
(used frequently)
  • Java
  • Python
  • C
  • C#
  • C++
  • Git
  • Visual Studio
  • Android Studio
  • Vim
  • IntelliJ
  • Git Actions
Web Development
  • JavaScript
  • HTML
  • CSS
  • PHP
  • Laravel + Livewire
  • Tailwind
  • Angular
  • REST APIs
  • SQL Databases
  • This Website, currently being served as a containerized Angular web app.
Server Administration
  • Firewall Security
  • LDAP + Active Directory
  • Single Sign On
  • Web Hosting
  • Cloud Storage
  • Remote Access
  • Custom Assembled Hardware
  • Regular data backups and redundancy
  • Failover Server
  • Reverse Proxy
  • Virtualized Containers
  • Debian
  • CentOS
  • Windows Server
  • Microsoft Azure
  • Amazon Web Services
Network Administration
(from CCNA coursework)
  • Cisco Certified Networking Associate
  • Static/Dynamic NAT
  • VPN and IPsec configuration
  • Inter-VLAN Routing
  • DHCP
  • DNS
  • Multilayer Switch configuration
  • Router configuration
  • Multi-area OSPF and EIGRP Routing
  • Wireless LAN Controllers
  • 802.11x Wireless Standards
  • Advanced Security Configuration
  • IP Phones
  • Software Defined Networking
Digital Media Creation
  • Adobe Photoshop
  • Adobe Premiere Pro for video editing
  • Vegas Pro
  • Davinci Resolve
  • Blender
  • 3D Modeling
  • 3D Animation
  • Video Encoding and codecs
  • Audio Encoding
Business Technology Competencies
  • Microsoft Excel / Google Spreadsheets
  • Powerpoint
  • Libre Office Suite
  • Microsoft Teams
  • Sharepoint / Workspace / Monday
Safety Tickets
(from previous field work)
  • H2S Alive
  • CSTS
  • Ground Disturbance
  • Confined Space Entry and Monitor
  • Fall Protection
  • Forklift Certification
  • First Aid/CPR
  • WHMIS
  • CSO