Grant Rindal

I build security-focused agentic harnesses, local inference systems, and other AI projects I keep on hardware I own. Software lead for FRC 4911 CyberKnights, where I run the robotics codebase and the docs behind it.

Work

04 projects
  1. Jav3

    A self-hosted agentic assistant that executes commands, rebuilt from scratch around the assumption that the model will eventually be tricked into doing something it should not. Disposable KVM sandbox, taint tracking, egress control, secrets the model never sees.

    • Python
    • FastAPI
    • SQLite
    • React
    • KVM/QEMU
    Opens in a new tab: github.com/grindlewalt/Jav3
  2. Projector Mapping Universe

    Desktop projection mapping for procedural pixel-art space scenes on walls and ceilings. Perspective-correct warping from two triangles, and an alien civilization simulation sharing one continuous world across every surface.

    • Electron
    • WebGL2
    • JavaScript
    Opens in a new tab: github.com/grindlewalt/Projector-Mapping-Universe
  3. How to software

    As software lead for FRC Team 4911, I orchestrate and oversee the software team's development through the season — owning the Java codebase and running code review and the Git workflow for student contributors. I am also responsible for the program's documentation: 40+ pages of onboarding material written to carry it forward to future leads and members.

    • Java
    • WPILib
    • Choreo
    • Git
    Opens in a new tab: github.com/grindlewalt/How-to-software
  4. BadUSB payload research

    Offensive Flipper Zero payload development. A BadUSB device presents itself as a keyboard, and a machine that trusts keyboards types whatever it is handed as fast as it can be sent. Keystroke-injection attacks scripted in DuckyScript, written as red-team practice to understand the technique first-hand — educational, offensive by design.

    • Flipper Zero
    • DuckyScript
    • HID injection
    Opens in a new tab: github.com/grindlewalt/bad-usb-flipper-payloads

What I run

Context

Homelab

Linux across a few Raspberry Pi and x86 hosts, running Gitea, Jellyfin, Backrest and Tailscale. Everything else I build runs on top of it.

Inference

Local models through Ollama, with a router that tiers small local models against a frontier model so the expensive one only gets the hard calls.

Security

CyberPatriot competitor — defensive system and VM hardening. Penetration testing and threat modeling separately, on my own outside of competition.

Virtualization

KVM/QEMU. Jav3 executes agent-issued commands inside a disposable virtual-machine guest rather than a container — isolated from the host at the hypervisor boundary and rebuilt from a known-clean image after each session, so nothing a compromise touches can persist.