Hey, I'm

Chris Wells

—  |

20 years learning how things break under pressure.
Now I build software with that same understanding.

scroll

About

15 years underground in hard rock mining and 5 as an industrial bricklayer gave me something most developers don't have: an instinct for how systems behave under real stress. When things go wrong 200 metres underground, you don't Google the fix. That's the mindset I bring to software — load, failure modes, what happens at 3am, skin in the game.

I operated remote controlled equipment in both roles — scoops and excavators underground, and BROK remote demolition excavators inside confined industrial vessels. I have been on the operator side of exactly what the industry is trying to automate.

I solve problems with my hands as naturally as I do at a keyboard. Currently building an autonomous multi-unit tracked robot system for coordinated material transport — the software side of the machines I used to run.

BS Computer Science, WGU, June 2026.

chris@chriswells.dev →
15 yrs Underground Mining
5 yrs Industrial Bricklayer
Hardware Electronics & CAD
BS CS WGU 2026

Engineering

I self-host a production-grade infrastructure stack with full observability — metrics, logs, uptime monitoring, and automatic HTTPS. Understanding how systems run in production makes you a better builder.

Caddy

Automatic HTTPS reverse proxy with zero-config TLS termination for all services.

Reverse Proxy
Docker

All services containerised for clean isolation, reproducibility, and easy deployment.

Containers
Prometheus

Metrics collection and alerting. Scrapes Node Exporter and all service endpoints.

Metrics
Grafana

Unified observability dashboards for metrics, logs, and system health.

Dashboards
Loki

Centralised log aggregation and querying across all running containers.

Logging
Portainer

Container management UI for deploying, inspecting, and monitoring Docker environments.

Management
Uptime Kuma

Self-hosted availability monitoring with alerting across all services.

Monitoring
Node Exporter

Exposes host-level hardware and OS metrics to Prometheus for system-wide visibility.

Metrics
Grey

Open source log and HTTP watcher with Discord, Slack, and webhook alerting. Built on top of the self-hosted stack for real time service notifications.

Alerting

Projects

A selection of things I've built.

Active Robotics

Autonomous Tracked Robot

Multi-unit autonomous tracked robot system for coordinated material transport. Pi4 central brain, dual ESP32 controlled conveyor units, MQTT coordination, ROS2, and ToF proximity sensing for precision docking. Inspired by 15 years operating remote controlled equipment underground.

Raspberry Pi 4 ESP32 ROS2 MQTT Embedded C Python
View on GitHub
Complete Machine Learning

NB Mineral Deposit Classifier

Random Forest classifier that ranks New Brunswick mineral deposits by economic and geological feasibility. Trained on real NB Geological Survey open data including drillhole records, geochemical assays, and active claim boundaries. Built as a practical screening tool for identifying candidate deposits worth further exploration investment.

Python scikit-learn Random Forest Pandas GeoJSON
View on GitHub
Complete Hardware

Dactyl Manuform 6x4

Fully hand-wired QMK split ergonomic keyboard built from scratch. 3D printed shell generated from direct hand measurements, Cherry MX Brown switches, coiled TRRS interconnect, and DSA profile keycaps. Matrix wired using a strip-at-joint technique with solid core housing wire offcuts. Detachable JST connectors for serviceability.

QMK Firmware 3D Printing Hand Wiring Embedded
View on GitHub
Complete Hardware / Security

Pwnagotchi Build

Raspberry Pi Zero W based Pwnagotchi with Waveshare 2.13" e-ink display, UPS-Lite battery board, PCF8523 RTC module, and a custom 3D printed case. Full build log including wiring, config, and SSH setup.

Raspberry Pi 3D Printing Embedded Linux
View on GitHub
01 Analyze
02 Cut
03 Weight
04 Export
Active Blender Add-on

Mystique

Open source Blender 4.2 addon that automates a full armor creation pipeline. Takes a text prompt through Stable Diffusion and ComfyUI, generates armor geometry, detects body zones, separates the mesh, auto-paints bone weights, and exports a fully rigged game-ready skeletal mesh into UE5. MIT licensed.

Python Blender 4.2 Unreal Engine 5 MetaHuman ComfyUI
View on GitHub
LevelOnLife logo
Live Web App

LevelOnLife

A social network where AI transforms your daily tasks into epic fantasy narratives. Complete quests, earn loot, join guilds, form parties, and tackle dungeons and raids — all powered by your real life.

React TypeScript Firebase Firestore Vite AI
Visit Site
Live Interactive Tool

AlgoViz

Step-by-step algorithm visualizer. Watch Bubble, Quick, Merge, Heap, Insertion, and Selection sort plus Linear and Binary search animate in real time with adjustable speed and array size.

JavaScript HTML CSS
Try it

Get in Touch

Have a project, a question, or just want to connect?
My inbox is open.

chris@chriswells.dev