1:"$Sreact.fragment" d:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"OutletBoundary"] e:"$Sreact.suspense" 0:{"buildId":"iv-nbJZe_jiHzLFjamu1u","rsc":["$","$1","c",{"children":[["$","div",null,{"className":"mx-auto max-w-6xl px-4 py-12","children":[["$","h1",null,{"className":"text-3xl font-bold tracking-tight md:text-4xl","children":"Tech Stack"}],["$","p",null,{"className":"mt-3 text-muted","children":"The tools, platforms, and technologies I use daily for network monitoring, automation, AI workflows, and infrastructure management."}],["$","div",null,{"className":"mt-10 space-y-8","children":[["$","section","Network Monitoring",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Network Monitoring"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","SolarWinds Orion",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"SolarWinds Orion"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Primary platform — NPM, SAM, NCM, IPAM, NTA, NetPath"}]]}],["$","div","SWQL",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"SWQL"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"SolarWinds Query Language for Report Builder and dashboards"}]]}],["$","div","OrionSDK",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"OrionSDK"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"C# .NET SDK and PowerShell module for API automation"}]]}],["$","div","Report Builder",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Report Builder"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Custom audit and operational reports"}]]}],["$","div","Database Manager",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Database Manager"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Direct T-SQL queries for advanced analysis"}]]}],["$","div","PRTG",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"PRTG"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Network monitoring and alerting"}]]}],["$","div","NinjaOne",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"NinjaOne"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"RMM and endpoint management"}]]}],["$","div","Entuity",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Entuity"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Network analytics and monitoring"}]]}]]}]]}],["$","section","Scripting & Automation",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Scripting & Automation"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","PowerShell",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"PowerShell"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Primary scripting — SolarWinds automation, bulk operations, cleanup scripts"}]]}],["$","div","Python",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Python"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Image processing, batch runners, utility scripts"}]]}],["$","div","Bash",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":["$L2","$L3"]}],"$L4","$L5"]}]]}],"$L6","$L7","$L8","$L9","$La","$Lb"]}]]}],null,"$Lc"]}],"loading":null,"isPartial":false} 2:["$","h3",null,{"className":"font-medium text-accent","children":"Bash"}] 3:["$","p",null,{"className":"mt-1 text-sm text-muted","children":"macOS automation, daily briefings, DNS benchmarking"}] 4:["$","div","n8n",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"n8n"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Workflow automation — webhooks, AI summarization, Ollama integration"}]]}] 5:["$","div","AppleScript",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"AppleScript"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Mail.app integration for ticket fetching"}]]}] 6:["$","section","AI & Machine Learning",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"AI & Machine Learning"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","Claude / Claude Code",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Claude / Claude Code"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Anthropic — AI assistant and CLI coding tool"}]]}],["$","div","OpenAI / ChatGPT / Codex",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"OpenAI / ChatGPT / Codex"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"AI assistant, code generation, and automation"}]]}],["$","div","Gemini / AI Studio / Gemini CLI",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Gemini / AI Studio / Gemini CLI"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Google AI ecosystem — chat, prototyping, and terminal tool"}]]}],["$","div","DeepSeek / Kimi / Perplexity",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"DeepSeek / Kimi / Perplexity"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"AI assistants and search"}]]}],["$","div","LM Arena",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"LM Arena"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"LLM comparison and benchmarking"}]]}],["$","div","Ollama",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Ollama"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Local LLM hosting — Llama 3.2, LLaVA, MiniCPM-V"}]]}],["$","div","MCP",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"MCP"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Model Context Protocol — connecting AI tools to external services"}]]}],["$","div","OpenClaw",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"OpenClaw"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Autonomous AI agent via messaging platforms (in progress)"}]]}],["$","div","Image Generation",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Image Generation"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Stable Diffusion, Flux, ComfyUI workflows"}]]}]]}]]}] 7:["$","section","Infrastructure",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Infrastructure"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","Proxmox",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Proxmox"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Virtualization platform for homelab"}]]}],["$","div","Docker",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Docker"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Containerized services — n8n, MCP toolkit, utilities"}]]}],["$","div","macOS",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"macOS"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Mac Mini M4 (24GB) — primary workstation"}]]}],["$","div","LaunchAgents",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"LaunchAgents"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Scheduled tasks — daily briefings, Ollama server, ticket reminders"}]]}],["$","div","NAS",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"NAS"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Drobo and QNAP — network storage for archives and media"}]]}]]}]]}] 8:["$","section","Development Tools",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Development Tools"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","VS Code",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"VS Code"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Primary editor for scripts, queries, and web projects"}]]}],["$","div","Git / GitHub",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Git / GitHub"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Version control and collaboration"}]]}],["$","div","Next.js",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Next.js"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"React framework — this portfolio site"}]]}],["$","div","Tailwind CSS",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Tailwind CSS"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Utility-first CSS framework"}]]}],["$","div","TypeScript",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"TypeScript"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Type-safe JavaScript"}]]}]]}]]}] 9:["$","section","Collaboration & Platforms",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Collaboration & Platforms"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","Google Workspace",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Google Workspace"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Gmail, Drive, Docs, Admin Console, Chromebook management"}]]}],["$","div","Microsoft 365 / Teams",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Microsoft 365 / Teams"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Teams, SharePoint, OneDrive"}]]}],["$","div","Slack / Discord",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Slack / Discord"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Team and community messaging"}]]}],["$","div","Chromebooks",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Chromebooks"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Deployment, management, and support"}]]}]]}]]}] a:["$","section","Knowledge Management",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Knowledge Management"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","Obsidian",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Obsidian"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Personal knowledge base — LifeOps vault, ticket tracking, project notes"}]]}],["$","div","iCloud Drive",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"iCloud Drive"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"File sync across devices — scripts, queries, templates"}]]}]]}]]}] b:["$","section","Amateur Radio",{"children":[["$","h2",null,{"className":"mb-4 text-xl font-semibold","children":"Amateur Radio"}],["$","div",null,{"className":"grid gap-4 sm:grid-cols-2 lg:grid-cols-3","children":[["$","div","HF / VHF / UHF",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"HF / VHF / UHF"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"General class license — KF0OTE"}]]}],["$","div","FT8 / JS8Call",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"FT8 / JS8Call"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Digital modes for weak-signal communication"}]]}],["$","div","APRS",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"APRS"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Automatic Packet Reporting System"}]]}],["$","div","Winlink",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"Winlink"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Off-grid email via radio"}]]}],["$","div","SDR",{"className":"rounded-xl border border-card-border bg-card p-6 shadow-card p-4","children":[["$","h3",null,{"className":"font-medium text-accent","children":"SDR"}],["$","p",null,{"className":"mt-1 text-sm text-muted","children":"Software-defined radio for monitoring and analysis"}]]}]]}]]}] c:["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}] f:null