Jake Garnier

Software Engineer

Resume

Projects

Dark Web Crawler & ML Classifier

Machine Learning Web Scraping Data Engineering

A sophisticated Flask-based dark web crawler that discovers and classifies .onion sites using machine learning. Features multi-process crawling via Tor, real-time content classification into 7 categories (93.5% accuracy), and an interactive graph visualization of 84,000+ indexed sites.

Key Features:

  • Multi-process crawling architecture with Tor SOCKS5 proxy integration
  • Real-time ML classification (Logistic Regression + TF-IDF) without storing HTML
  • Interactive force-directed graph visualization (vis.js) of dark web network topology
  • RESTful API with scheduled crawling and job management
  • MySQL database storing 84K+ nodes and 111K+ edges with relationship tracking

Technologies & Languages:

Python Flask Scikit-learn NetworkX MySQL Tor Docker APScheduler vis.js
View on GitHub →

Homelab Infrastructure & Automation

Infrastructure DevOps Automation

A comprehensive homelab infrastructure featuring automated deployment and configuration management for self-hosted services. Built using Infrastructure as Code (IaC) principles with Terraform for provisioning and Ansible for configuration management on Proxmox VE. Includes CI/CD pipelines with self-hosted GitHub Actions runners.

Key Features:

  • Automated VM provisioning using Terraform on Proxmox hypervisor (9 VMs)
  • Configuration management and orchestration with Ansible playbooks
  • Containerized application deployment with Docker and Docker Compose
  • CI/CD with self-hosted GitHub Actions runners on each VM
  • Nginx reverse proxy with SSL/TLS (Let's Encrypt + mkcert for local services)

Technologies & Languages:

Terraform Ansible Proxmox VE Docker Nginx GitHub Actions Python YAML HCL Linux/Ubuntu
View on GitHub →

Self-Hosted Reverse Proxy with Dynamic DNS

Networking Security DevOps

Production-grade Nginx reverse proxy serving multiple applications with automated SSL certificate management and dynamic DNS updates. Handles both public-facing domains and local network services with proper SSL/TLS termination and security headers.

Key Features:

  • Automatic SSL/TLS certificate management with Let's Encrypt and Certbot
  • Local HTTPS using mkcert for trusted self-signed certificates
  • Dynamic DNS integration with ddclient for automatic IP updates
  • Proxying 7+ services with custom domain routing and health checks
  • Security headers, rate limiting, and HTTP/2 support

Technologies & Languages:

Nginx Let's Encrypt SSL/TLS Docker ddclient mkcert DNS
View on GitHub →