Summary
I'm a full-stack software developer with 15+ years of full-time professional experience, primarily focused on web applications, APIs, infrastructure, and applied systems. Outside of client work, I build and operate my own self-hosted systems, including Docker/Kubernetes services, home automation, local AI tooling, camera/RTSP workflows, and hardware projects using Raspberry Pis, Arduinos, and other embedded devices. I'm also a licensed recreational drone pilot in Canada and the United States, with an interest in aerial photography, photogrammetry, and exploring cities, wilderness, and places I haven't been before.
Projects
Built a local-first web control plane for running, securing, and troubleshooting Mosquitto without requiring shell access to the broker host.
- Manage Mosquitto Dynamic Security clients, groups, roles, ACLs, default-role assignments, and effective permissions through a browser UI.
- Provide raw broker-config pull/push, reload/restart workflows, snapshots, import previews, and append-only audit history with SHA-256 integrity metadata.
- Include a live MQTT explorer for session-scoped connect, subscribe, publish, latest-topic tracking, and SSE-backed updates.
- Split the system into a SvelteKit/TypeScript control plane and a Rust broker-agent for broker-local file, DynSec, and lifecycle operations.
Repository: https://github.com/Slyke/mqttctl
Technologies: SvelteKit, Svelte 5, TypeScript, Node.js, Rust, Axum, Mosquitto, MQTT, DynSec, SQLite, PostgreSQL, Docker, Kubernetes, OIDC, RBAC
Public open-source project · Primary maintainer · SensorsIot/IOTstack. A Raspberry Pi docker-compose builder for assembling and maintaining IoT and home automation stacks.
- Rewrote and modernized the project from the abandoned gcgarner/IOTstack lineage while continuing it under the SensorsIot organization.
- Build and maintain the menu-driven tooling, service templates, documentation, and compose-generation workflow for Dockerized Raspberry Pi deployments.
- Support a broad catalog of IoT and home automation services including Home Assistant, Node-RED, Mosquitto, Zigbee2MQTT, Pi-hole, Nextcloud, Grafana, InfluxDB, WireGuard, and more.
- Continue to submit and review contributor pull requests, triage issues, and steward a community project featured in multiple Andreas Spiess and maker-community videos.
Repository: https://github.com/SensorsIot/IOTstack
Technologies: Python, Bash, Docker, Docker Compose, Raspberry Pi, IoT, Home Automation, Home Assistant, Node-RED, Mosquitto, Zigbee2MQTT, MkDocs, YAML, GitHub Actions
Building a local AI pipeline that turns IP camera observations into a structured text timeline of what changed in each scene.
- Sample camera frames from local IP camera feeds and proxy services for low-frequency visual analysis.
- Use local/cloud vision models to describe scene state, track continuity, and record object or activity changes over time.
- Maintain a text-based scene ledger so events can be searched, summarized, compared, and eventually used for automation triggers.
- Experiment with constrained prompts, previous-frame state, object consistency rules, and low-cost inference on local hardware.
Repository: https://github.com/Slyke/scene-ledger
Technologies: Node.js, Ollama, OpenAI API, OpenClaw, MCP-style tooling, Docker, RTSP, IP Cameras, SQLite, OpenCV, Home Assistant
Self-Hosted Infrastructure
Designed and operate a Proxmox-backed Kubernetes environment with a multimaster control plane on repaired and secondhand hardware for home automation, private networking, observability, CI/CD, media, and containerized services.
- Run an Ubuntu Kubernetes cluster with a multimaster control plane and containerd workers inside Proxmox.
- Host isolated home, AI, CI/CD, monitoring, networking, media, identity, document, health, Matrix, Nextcloud, TeslaMate, and automation services.
- Operate local-first home automation using Node-RED, MQTT/Mosquitto, Zigbee2MQTT, Z-Wave JS, Envisalink, custom device control interfaces, and private dashboards.
- Use MetalLB, Flannel, internal DNS, NGINX reverse proxying, TLS automation, Authelia, ZeroTier, WireGuard, and scheduled DNS/certificate jobs to keep systems maintainable and remotely reachable.
Technologies: Proxmox, Kubernetes, Ubuntu, containerd, MetalLB, Flannel, NGINX, Prometheus, Grafana, Gitea, Nexus, PostgreSQL, Redis, Node-RED, MQTT, Matter, Thread, Zigbee2MQTT, Z-Wave JS, MotionEye, RTSP, ZeroTier, WireGuard, Authelia
Built a headless hand-gesture detector and event bridge for Raspberry Pi and Linux hosts that turns V4L2 camera input into local state, troubleshooting views, MQTT events, and HTTP callbacks.
- Use MediaPipe Gesture Recognizer and OpenCV against USB/V4L2 camera input with configurable resolution, FPS, hand count, stability, and palm-orientation settings.
- Expose a password-protected Flask troubleshooting UI with MJPEG camera stream, latest image, and live JSON detection state.
- Publish gesture state through optional MQTT with TLS support and optional HTTP POST callbacks for home automation or local service integration.
- Package deployment through Docker Compose with runtime dependency/model bootstrap, plus systemd units for non-Docker Linux installs.
Repository: https://github.com/Slyke/gesture-bridge
Technologies: Python, MediaPipe, OpenCV, Flask, MQTT, paho-mqtt, HTTP APIs, Docker, Docker Compose, systemd, V4L2, Raspberry Pi
Built a Node.js controller for Envisalink 4 that bridges DSC alarm panel state and commands into MQTT, REST APIs, and webhooks for home automation.
- Connect to Envisalink 4 over the DSC TPI protocol and normalize raw panel, keypad, partition, zone, trouble, and command acknowledgement events.
- Publish retained MQTT state and accept inbound commands for status, keypad input, arming, disarming, panic triggers, output triggers, time broadcasts, and raw panel frames.
- Expose Fastify REST routes for connection and system state, recent events, panel locks, commands, keypad helpers, partitions, zones, and health checks behind basic auth.
- Add heartbeat polling, TCP keepalive, structured logging, Kubernetes metadata hooks, Docker deployment, and webhook publishing for operational visibility.
Repository: https://github.com/Slyke/Envisalink
Technologies: Node.js, Fastify, MQTT, Envisalink 4, DSC TPI, REST APIs, Webhooks, Docker, Docker Compose, Kubernetes, Telnet, Home Automation
Built a small browser-based Morse code trainer for practicing both listening recognition and keying patterns with configurable timing and local progress tracking.
- Provide listening mode that plays Morse code sequences and checks keyboard letter or number responses.
- Provide keying mode that lets users enter dots and dashes with punctuation keys or timed Enter-key holds, with tolerance and timeout checks.
- Track per-character scores in localStorage and expose configurable training options for modes, answer reveal, replay, delays, dot/dash timing, and tolerance.
- Publish the trainer as a static GitHub Pages app with a simple local Node.js server for development.
Repository: https://github.com/Slyke/MorseCodeTrainer
Technologies: JavaScript, HTML, CSS, Web Audio, Keyboard Events, localStorage, GitHub Pages, Node.js
Built a reusable Node.js OIDC auth proxy for single upstream apps that owns local sessions, refreshes tokens server-side, injects trusted identity headers, and reverse-proxies HTTP and WebSocket traffic.
- Run the OIDC authorization-code flow with PKCE, issuer, audience, state, nonce, callback binding, and encrypted server-side refresh token storage.
- Support SQLite by default with Postgres and Redis session backends behind the same store API.
- Proxy normal, streaming, and upgraded WebSocket traffic while stripping wrapper-owned auth headers and rejecting spoofed identity headers.
- Expose optional forward-auth, whoami, session debug, session kill, health, signed identity JWT, and token pass-through workflows.
Repository: https://github.com/Slyke/oauth-wrapper
Technologies: Node.js, OIDC, OAuth 2.0, openid-client, SQLite, PostgreSQL, Redis, Reverse Proxy, WebSockets, Docker, JWT
Licensed Drone Operations / Aerial Capture
Licensed recreational drone pilot in Canada and the United States with experience capturing aerial photography, panoramas, and source material for mapping or photogrammetry workflows.
- Plan safe recreational flights around airspace, terrain, weather, battery limits, and line-of-sight constraints.
- Capture aerial stills, video, panoramas, and location-based imagery for documentation and visual exploration.
- Experiment with automated capture patterns, 360 imagery, and photogrammetry-style reconstruction workflows.
- Maintain a portfolio of published aerial and travel photography.
Technologies: DJI Mini 4 Pro, Aerial Photography, Panoramic Capture, Photogrammetry, 3D Reconstruction, Geotagged Imagery