Hi, I'm

    Jason

    I build web apps and run networks at a regional ISP — internal tools, fleet automation, and the infrastructure underneath.

    About

    The short version

    I am an IT guy who vibe code to create solutions for customers and our buisness. I am fluent in typescript and have embraced what it means to be living in the AI age. (As seen by this Claude site lol)

    At Sun Valley Broadband, when something needs building, automating, or explaining to a human, it usually lands on my desk. That has turned into a year of internal tools, network documentation pipelines, and dashboards that people actually use.

    The rest of the time I run Linux everywhere (Gentoo on a ThinkPad, by the way), maintain a homelab with its own CI/CD, and self-host nearly every service I rely on.

    zsh

    ~ neofetch --whoami

                -/oyddmdhs+:.                
          -odNMMMMMMMMNNmhy+-`             
        -yNMMMMMMMMMMMNNNmmdhy+-           
      `omMMMMMMMMMMMMNmdmmmmddhhy/`        
      omMMMMMMMMMMMNhhyyyohmdddhhhdo`      
     .ydMMMMMMMMMMdhs++so/smdddhhhhdm+`    
      oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.   
       :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh   
         .:+sydNMMMMMNNNmmmdddhhhhhhmMmy   
            /mMMMMMMNNNmmmdddhhhhhmMNhs:   
         `oNMMMMMMMNNNmmmddddhhdmMNhs+`    
       `sNMMMMMMMMNNNmmmdddddmNMmhs/.      
      /NMMMMMMMMNNNNmmmdddmNMNdso:`        
     +MMMMMMMNNNNNmmmmdmNMNdso/-           
     yMMNNNNNNNmmmmmNNMmhs+/-`             
     /hMMNNNNNNNNMNdhs++/-`                
     `/ohdmmddhys+++/:.                   
       `-//////:--.                       
    ┌─────────────────────Developer Stats─────────────────────┐
    Commits this year: Loading...
    Languages: Loading...
    └─────────────────────────────────────────────────────────┘
    ┌─────────────────Entertainment/Social─────────────────┐
    Music: Loading...
    💬Discord: Loading...
    🎮Steam: Loading...
    📅Recently played: Loading...Loading hours in the last 2 weeks
    └─────────────────────────────────────────────────────┘
    ┌─────────────────────Top Repos─────────────────────┐
    Loading repositories...
    Loading repositories...
    Loading repositories...
    └─────────────────────────────────────────────────────┘
    ┌───────────────────────────────────Uptime / Age / DT─┐
    Age: 23 Years
    Uptime: 0s
    DateTime: Loading...
    └─────────────────────────────────────────────────────┘
    ~/whoisjason
    on main
    2s
    00:00
    _
    Web Development

    Full-stack work

    Internal tools for an ISP, contracted client sites, and the apps I build and host for myself — same craft, different users.

    ISP work

    Public IP → customer tracing

    Internal tool that traces any public IP through core router ARP, CPE and OLT MAC tables, and the NMS down to the responsible account.

    Next.jsSSHMSSQL
    ISP work

    Support dashboards

    Web tools that turn raw NMS data into something tech support can read at a glance — throughput, signal, and device details per customer.

    Next.jsRechartsUISP API
    ISP work

    Front-desk CRM

    Full-stack customer management app for reception staff, with customizable fields and role-based access.

    Next.jsPrismaDocker
    ISP work

    ISP customer website

    Built Sun Valley Broadband's public-facing website.

    Next.jsKubernetes
    ISP work

    FCC broadband labels

    Generator for the FCC-mandated broadband consumer labels — the nutrition-facts-style disclosures every US ISP now has to publish.

    Next.jsFCC compliance
    Personal

    Notes App

    Self-hosted Google-Docs-style notes. Real-time multi-device sync, offline support, image uploads, 2FA.

    Next.jsPocketBaseTanStack Query
    Personal

    BGP Looking Glass

    How the internet sees any IP — live routes from RIPE collectors worldwide, with BGP communities explained.

    Next.jsRIPE Stat API
    Personal

    Bee Blog

    My blog platform. Prisma-backed, RSS feed, self-hosted Rybbit analytics.

    Next.jsPrismaSQLite
    Personal

    Docker Manager

    Web UI for operating Docker containers from the browser.

    Next.jsDocker API
    Personal

    MP3 Stem Extractor

    Splits songs into separate audio stems with a locally-hosted AI model. Built for music producer friends.

    Next.jsLocal AI
    Personal

    P2Pool Observer

    Monitoring dashboard for Monero P2Pool Mini mining stats.

    Next.jsMonero
    Client work

    Small-business sites & hosting

    Contracted web design and hosting for local businesses — a contracting company, a chiropractor, an auto-injury clinic, and more.

    Next.jsWeb hosting
    Networking & Systems

    The IT side

    A year of automating, documenting, and physically maintaining a real ISP network — and the lab where it all gets practiced first.

    ISP work

    Network source of truth

    Python pipeline that documents the entire network in NetBox — 370+ devices across 76 sites, imported and kept current automatically.

    PythonNetBoxREST APIsSSH
    ISP work

    Fiber & wireless fleet automation

    Containerized services that provision, name, rate-limit, and access-control Ubiquiti fiber ONUs and wireless CPE across the whole fleet.

    PythonDockerUISP API
    ISP work

    Regulatory data pipelines

    Pipelines that turn raw billing records into FCC and CPUC broadband filings — geocoding, dedup, and format compliance included.

    PythonMSSQLGeocoding
    ISP work

    Switch & router CLI

    At home on the switch command line — Cisco and Brocade: VLANs, trunking, interface config, and chasing MACs through ARP and MAC tables when hunting a problem.

    Cisco IOSBrocadeMikroTikVLANs
    ISP work

    The physical network

    Recursive DNS serving customer connections, GPON fiber, fixed wireless, DOCSIS — and field work when a cable needs re-tipping or gear needs swapping.

    DNSGPONDOCSISFixed wireless
    Personal

    Homelab

    Everything on this page is self-hosted: Gitea CI/CD, Portainer, recursive DNS, reverse proxy, LibreSpeed — one git repo of compose files.

    DockerGitea ActionsPi-hole + Unbound
    Personal

    SNMP monitoring & alerting

    Monitoring app that watches devices over SNMP and alerts without spamming — rate-limited to one notification per device per half hour.

    Next.jsSNMP
    Personal

    Virtualization & AD lab

    Fully virtualized Microsoft Active Directory domain — domain controller, users, Group Policy — on KVM/QEMU.

    KVM/QEMUActive Directory
    Personal

    LoRa mesh networking

    Off-grid radio networks: a Meshtastic LoRa mesh with a dedicated router node, plus Reticulum/LXMF messaging between machines with no IP path.

    MeshtasticReticulumLoRa
    Personal

    Linux as a daily driver

    Gentoo compiled from source with a custom kernel on a ThinkPad, Arch and Fedora elsewhere, a heavily customized Hyprland desktop — comfortable in any UNIX shell.

    GentooArchHyprlandFreeBSD
    Artificial Intelligence

    Local-first AI

    Open-source models on hardware I control — private by architecture, not by promise.

    ISP work

    Company-specific AI

    Self-hosted open-source models with company context fed in — a secure internal assistant that answers company questions without data ever leaving the building.

    Self-hosted LLMsCompany knowledgePrivacy-first
    Personal

    Self-hosted AI portal

    My own Open WebUI instance serving local open-source models — everyday AI without the cloud subscription or the data leak.

    Open WebUILocal models
    Personal

    Agentic dev workflow

    AI coding agents wired to a persistent Obsidian knowledge vault — project context that compounds across machines instead of resetting every session.

    Claude CodeMCPObsidian
    Hardware & Field IT

    Hands-on

    The part of IT you can hold — builds, deployments, and rescues for clients around town.

    Client work

    Hotel-wide Omada network

    Set up a TP-Link Omada network for a hotel — controller-managed access points covering the property.

    TP-Link OmadaWi-Fi deployment
    Client work

    Custom AI servers

    Spec, build, and deliver AI servers for customers running local models — GPU selection through OS and inference setup.

    GPU buildsLocal AI
    Client work

    Hard drive data recovery

    Recovering data from failing hard drives — image the disk first, then extract what matters before the hardware gives out.

    Data recoveryDisk imaging
    Client work

    IP camera systems

    Security camera deployments for small businesses around the city — cameras, cabling, and remote viewing.

    IP camerasNetworking
    Personal

    PC & server building

    10+ years of custom builds — gaming rigs, water-cooled machines, and servers that ended up in production.

    Custom buildsWater cooling
    Skills

    The full toolbox

    Jack of all trades by choice — the web is just the part you can see.

    Languages & Data

    TypeScriptJavaScriptPythonSQLBashPostgreSQLMS SQL ServerMySQLSQLite

    Web

    Next.jsReactTailwind CSSPrismaPocketBaseTanStack Queryshadcn/uiNode.jsElectron

    Linux & Systems

    Gentoo (source-built, custom kernel)ArchFedoraFreeBSDsystemdShell scriptingHyprland / WaylandKVM / QEMUActive Directory

    Self-hosting & DevOps

    Docker & ComposeDocker SwarmGitea Actions CI/CDPortainerReverse proxiesPi-hole + Unbound DNSLibreSpeedSNMP monitoring

    Networking

    BGPRecursive DNSFreeRADIUSDHCPDOCSISGPON / FTTHFixed wirelessVLANs & trunkingCisco IOS CLIBrocadeMikroTikUbiquiti UISPTP-Link OmadaLoRa / Meshtastic

    AI & Hardware

    Self-hosted LLMsOpen WebUIClaude Code & MCPAI server buildsPC & server buildingData recoveryIP camera systems

    Certifications

    ❯ claude

    Claude Code in Action — Certified

    Anthropic's certification on agentic software development with Claude Code.

    View Certificate

    Google IT Fundamentals Certified

    Successfully completed the Google IT Fundamentals course, gaining essential skills in IT support and operations.

    View Certificate

    Google AI Essentials Certified

    Completed Google's AI Essentials course, mastering generative AI tools, prompt engineering, and responsible AI practices.

    View Certificate
    Blog

    Latest posts

    Writing about whatever I'm currently rabbit-holed on.