ForwardSlashBuilds: Building a Verified PowerShell LLM for IT Engineers (R9700 Giveaway Entry)

I’m the person behind a new YouTube channel called forwardslashbuilds. I’ve been an in-the-field IT engineer since the late 1900’s, and I’m at a point in my career where I’m making a deliberate pivot: I’m going all-in on AI for practical IT operations.

Not “AI hype.” Not “prompting for vibes.” I mean the kind of AI that helps the working sysadmin, cloud engineer, or MSP consultant ship safer changes, faster, and without turning production into a casino.

Why I’m entering (and why this isn’t a pity story)

I’m not trying to “stay relevant” in the shallow sense. I’m trying to stay useful.

In IT, you either keep learning or you quietly become the person who says, “We’ve always done it this way,” while the world moves on. I’m older, and attempting to become wiser at all turns. Thusly, I have no interest in stagnation. The next edge of the blade is here, and I want to be on it. Openly, in public, with receipts. Bold enough to take the steps, show them, and with the mistakes included.

That’s what forwardslashbuilds is going to be: build logs, experiments, failures, and repeatable wins. Not brand deals. Not guru content. Just the work. I don’t know it all. But have always been crafty and savvy as a jack-of-all-trades in my vertical.
The project: a “Verified PowerShell LLM” for Microsoft cloud + endpoint ops

I’m building an open, modular toolchain I’m calling forwardslashOPS with one clear goal:

Generate PowerShell and operational runbooks that are not just “plausible,” but verifiably correct for the scenario. Using natural language to describe the scenario and goals to execute PS and VBS scripting that works right the first time. As such, I have devoured over 1.5M PS and VBS articles from formal MS documentation to start RAG production proactively.

Think WinUtil, but for the modern Microsoft stack. Azure, Entra ID, Intune, Exchange Online, Microsoft Graph, and the real-world workflows people actually run (device onboarding, compliance baselines, Conditional Access guardrails, RBAC, mail flow, identity hygiene, break-glass procedures, etc.).

But the differentiator is verification.

What “verified” means (in concrete terms)

Most LLM tooling fails sysadmins in predictable ways: confident hallucinations, deprecated cmdlets, missing permissions, wrong module versions, wrong parameter sets, and scripts that “look right” until they touch reality.

My approach is to treat output like software, not fortune cookies:

  1. Retrieval from authoritative sources:
    The assistant will ground responses in official/public documentation and known-good patterns (not private data, not client content, not scraped secrets).
  2. Constrained generation and guardrails:
    The model doesn’t get to freestyle. It has to target specific modules, specific scopes, and explicit intent (read-only audit, what-if/dry-run, apply change).
  3. Automated checks before it ever reaches a human
    -PSScriptAnalyzer linting
    -Pester tests for expected behavior
  • WhatIf to then confirm safe defaults where appropriate
    -Version checks for modules (Graph SDK, ExchangeOnlineManagement, etc.)
    -Permission/scope preflight guidance (least privilege)
  1. A lab-first validation harness
    I maintain a home lab specifically so we can validate actions in a controlled environment before anyone tries them in production.

This is exactly the sort of thing that, done right, becomes a force-multiplier for everyone trying to modernize without burning weekends.

What I’ve already been doing (so this isn’t just an idea)

I’m already building a local AI workflow and a structured knowledge base for IT references. This includes but is not limited in scope at this time to include Windows, AZIdentity, InTune/Endpoint management, and on/offbaord automation patterns. This is because I want this to run locally and privately as much as possible.

I’m also documenting this journey publicly on forwardslashbuilds because I want the learning to be reusable: the setup, the pitfalls, the prompts that fail, the evaluation methods, the “don’t do this in prod” warnings, and of course showing how to make the best workflows that actually work.

What the Radeon AI Pro R9700 enables that I cannot do today (Current sys specs Ry9 9950X3D, 96GB DDR5 6000 [2x48 Crucial Pro 5600 OC to 6k], Ample Gen 5 storage on X870E Hero BTF board, all Noctua thermal management.)

The Radeon AI Pro R9700’s big unlock is VRAM headroom with its 32GB class and pro-focused compute in a form factor meant for real workloads. This is exactly the kind of environment you want for local inference, evaluation, and iteration in one place.

If I win one of the R9700s, it materially changes what I can ship:

Run larger local models at higher quality settings (or run multiple smaller specialist models concurrently) without constant loading/unloading and context thrash.
Create a practical evaluation loop: generate script < validate < test < repair < re-test, at a speed that keeps momentum.
Fine-tuning/adapter training (LoRA-class work) on IT-specific patterns and in a way that’s feasible in a home lab, not just a cloud budget.
Build a multi-model router: one model for intent classification, one for retrieval summarisation, one for code generation, and one for critiquing without turning inference into an exhaustive and burdensome overnight job.

In short: the R9700 turns this from “cool project” into a toolchain I can iterate fast enough to make releases. Ultimately going from individual scripting generation to an LLM that is rich and supportive of all levels of IT from green technical service team members to seasoned and hardened consultants and architects.

Deliverables and timeline (so you can hold me accountable)

If I win, I’ll publish progress in a way the community can verify:

Within 14 days

Repo goes public: Will build Git
Containerized baseline: local inference with retrieval and a minimal CLI
First “verified script” pipeline: generate + lint + basic tests
Within 30 days

Module packs: Entra/Graph + Intune baseline workflows
A starter catalog of “safe automation recipes” (read-only audits + WhatIf-first changes)

Within 60–90 days

End-to-end “Verified PowerShell Assistant” alpha release
Video series: build log, model benchmarks, project failures, ultimate fixes, what we learned
Community-driven backlog: issues, feature requests , and PRs

Brand integrity and boundaries

Two explicit commitments:

  1. No client names, no client data, no private environments.
    This will be built from public references and my own lab artifacts.
  2. No “AI as an excuse” content.
    Every script that claims to do something will come with the verification artifacts that prove it: tests, module requirements, and reproducible steps.

In closing:
Level1Techs has always been a place where “do the work” matters more than “say the thing.” That’s why this giveaway hit me: it’s not about collecting hardware; it’s about building something worth showing.

If I win an R9700, it will be used to build a truly open, verifiable AI workflow for IT engineers, and I’ll publish the build so other people can replicate it, improve it, and benefit from it.

Thanks for reading. If you want to follow along:
yt @forwardslashbuilds

1 Like

Sounds like a great project.

:+1:

1 Like

4M md files now on this proj and still have not purchased my GPU’s. Everything else for this build is ready. Using Ry 9 9950X3D and my Godlike X board.

1 Like

I am excited to see where this goes! My first real world uses for LLMs are, exactly this, generating boilerplate powershell and various other scripts.

1 Like

Regardless of what base model you choose, there is going to be a sizable ongoing cost of re-tuning every time technology changes. and the latest / correct tooling is always changing faster than ever these days. It also takes a good amount of time, a whole testing apparatus will need to be built to validate one checkpoint is better/worse than another. These benchmarks also take time to run and require gpu’s/money/power/cooling/etc.

Rather than trying to take the most resource intensive approach of changing a model into what you want, it might be a faster more affordable approach to simply focus on building skills and documentation for a larger general purpose LLM to consume (like GLM 4.7 fp8 that will TP4 on rtx 6k’s at good speed/context.) and the scaffolding around that.

The advantage is as a template/practice/tool changes, you can update a text file in a git repo and everyone instantly benefits rather than going through weeks of training and testing, at the hit of more prompt processing and dynamic context construction when interacting with it. And as models / needs change over time you are not re-inventing the wheel when a new model architecture shows up like when GLM 4 moved from sparse attention to deepseek attention in GLM5.

food for thought I guess.

2 Likes

I am going to be picking 2 of these up. The price just keeps jumping week over week for them. The rest of the PC is built and waiting. I am a single father and kid in University. 6k’s are just not in the budget. But advancing my skills and hoping to bring some ease and simplicity to the already taxed IT support/engineering folks of the world keeping this all working is the ultimate goal. Thank you for the very thoughtful comment. I will indeed keep things simple and open at every turn of this work. I have a working model presently but so so slow on ASUS x Noctua 5080 to test and tune with. The $3k on 2 of these R9700’s is the best I can put forward and still attend to the rest of life.

Quick update from the forwardslashbuilds / forwardslashOPS side of the house:

This stopped being a hypothetical.

Since my original post, I went ahead and started building the box and the workflow anyway because waiting around is not really my style. The project has gained some traction, the thread has picked up a few likes, and more importantly, I’ve been able to turn the idea into a working local stack with receipts.

Hardware-wise, I ended up going much harder than my original “if I win one” plan.

Current build direction:

  • MSI MEG X870E GODLIKE X Edition

  • Ryzen 9 9950X3D

  • 128GB DDR5

  • 2× Radeon AI PRO R9700 32GB cards

  • Ubuntu 24.04 LTS currently

  • ROCm working

  • Local inference stack running

  • Open WebUI front end

  • Ollama ROCm currently as the working baseline

  • Qdrant vector store

  • SearXNG

  • Valkey

  • Local FastAPI RAG wrapper

  • Microsoft sysadmin corpus staged, chunked, embedded, queried, and regression-tested

The point of the project has not changed: I am not trying to build “AI that sounds smart.” I am trying to build AI that is useful to working IT people and constrained enough to not confidently destroy production.

The current alpha is now a Microsoft sysadmin RAG workflow focused on PowerShell, Microsoft Graph, Intune, Exchange Online, Entra, Windows management, and adjacent endpoint/cloud operations. The early corpus work has been heavy. I staged a large Microsoft/PowerShell reference set, discarded a noisy first chunking pass, rebuilt it into a compact second version, and embedded the current working corpus into Qdrant.

Current working numbers:

  • ~188k source records inventoried

  • ~292k compact RAG chunks

  • Qdrant collection embedded and snapshotted

  • FTS5 lexical index built alongside vector search

  • Retrieval is hybrid now, not just vibes-based vector lookup

  • Local model lanes exposed through Open WebUI

  • Regression harness created and passing

The model routing is also no longer just “pick a model and pray.”

I now have separate local lanes exposed in Open WebUI:

  • microsoft-sysadmin-rag
    Conservative / quality lane for higher-risk work.

  • microsoft-sysadmin-rag-fast
    Faster daily lookup lane, with safety routing that can push risky prompts back to the quality backend.

  • microsoft-sysadmin-rag-code
    Code/script drafting lane currently aimed at PowerShell generation.

The harness currently passes the core tests I care about at this stage:

  • It refuses to invent an unsupported Intune primary-user mutation through Microsoft Graph.

  • It correctly handles supported Exchange Set-CalendarProcessing scenarios.

  • It gives safe read-only BitLocker reporting guidance.

  • The code lane produces non-destructive PowerShell for read-only tasks.

  • The “fast” lane does not get to be unsafe just because it is fast.

That last part matters to me. A sysadmin assistant that is fast but reckless is just a very confident outage generator.

The next phase is where this starts to become the thing I originally described: a verified PowerShell assistant rather than just a grounded Q&A bot.

Planned next build steps:

  • Dedicated script-output mode with a stricter operational format:

    • assumptions

    • required modules

    • required permissions/scopes/roles

    • read-only discovery first

    • script

    • validation command

    • rollback/remediation notes

    • source basis

  • PowerShell parser validation:

    • [System.Management.Automation.Language.Parser]::ParseInput(…)
  • PSScriptAnalyzer gate.

  • Pester test scaffolding where it makes sense.

  • Explicit mutation guardrails:

    • read-only by default

    • WhatIf/Confirm where supported

    • no unsupported Graph endpoints

    • no “I found a property called userId, so surely PATCH will work” nonsense

  • A sanitized known-good private script corpus:

    • no client names

    • no tenant IDs

    • no secrets

    • no real UPNs

    • no production artifacts

I am also now seriously evaluating whether the generation backend should pivot from Ollama to vLLM for the heavier lanes.

Ollama has been excellent for getting the pipeline working quickly, but with 2× R9700 cards in the box, vLLM is very attractive for tensor parallelism, better serving behavior, and higher-throughput model evaluation. I am not going to rip out the working stack just because the shiny thing exists, though. The plan is to preserve the current working Ollama-backed baseline, then add vLLM side-by-side and benchmark it honestly.

Likely vLLM test path:

  • Keep current RAG retrieval stack:

    • Qdrant

    • FTS5

    • Microsoft corpus

    • FastAPI wrapper

    • Open WebUI

  • Keep Ollama initially for embeddings, because the current Qdrant collection was built against the existing embedding model.

  • Add vLLM as a generation backend for code/script lanes.

  • Start with a coder model that makes sense for the hardware.

  • Test tensor parallel across both R9700s.

  • Compare output quality, latency, script correctness, and harness pass/fail results against the existing baseline.

I am also documenting the ugly parts because that is where the useful lessons live. The current Linux/RDNA4/ROCm/vLLM ecosystem is moving fast, and not all of it is clean. Some of this is polished. Some of it is very much still “bring a helmet.” That is fine. That is the work.

The near-term deliverable is no longer “could this be built?”

It is being built.

The near-term deliverable is now:

  • reproducible local restore

  • clean OS baseline

  • working Open WebUI/RAG/Ollama restore

  • validated Qdrant snapshot restore

  • passing regression harness

  • then vLLM sidecar testing on the dual R9700 setup

The longer-term goal is still forwardslashOPS: (/OPS) [Omniscient PowerShell)

A local-first, verifiable Microsoft operations assistant that helps engineers produce safer PowerShell, better runbooks, and more repeatable operational changes without pretending AI magically replaces judgment.

The machine is becoming the lab. The lab is becoming the toolchain. The toolchain is becoming the content.

And yes, mistakes will be included. How else do we all learn?

…That is kind of the point.

Thank you for reading and your potential interest in this project. As I am writing this and my feed backlog for yt today shows me a video about DFlash, just know you may see some movement on that soon also. Expect a beta for testing for Public release this summer.

And congrats to whomever won these cards!

yt: @forwardslashbuilds

1 Like

This is a really interesting approach, especially the focus on verification rather than simply generating PowerShell that looks convincing. The generate → lint → test → validate → repair loop makes a lot more sense for production IT than treating an LLM response as something you can blindly copy and paste.

I also like the lab-first philosophy. Things like module versions, Graph permissions, parameter sets, and changing Microsoft APIs are exactly where an otherwise good script can fall apart.

The idea of using different models for generation, retrieval, and critique is interesting too. If the project can produce reproducible verification artifacts alongside the scripts, it could be genuinely useful for sysadmins who want AI assistance without giving up control over what actually gets executed.

I’ll definitely be interested to see how the first verified-script pipeline performs in real-world scenarios, particularly around Entra, Intune, and Graph.