SaavyLab LLC

Hi, I'm Jayson.

SaavyLab is my one-person software company. This site is the company stuff and the personal stuff in one place.

Right now I'm mostly working on Melee tooling, plus some audio projects and my homelab. The thing below is a little additive synth. Move across it to add harmonics.

saw · 8 partials · 220 Hz
01

Melee

I played Melee from about 12 to 20. I played every day, ran tournaments, and went to majors. I haven't really played in like 8 years, but the tech around the game has gotten really cool, so I'm back, just on the building side this time. All of the textures.gg code is open source under github.com/texturesgg.

shipped

textures.gg

A site for finding and installing Melee texture mods. The previews render the real game models in your browser with Rust compiled to WASM.

downloads a day
~180
model previews
Rust → WASM

Cloudflare Workers, D1, R2, React, Rust/WASM

64×64 · 256 blocks · 2,048 bytes
building

tgg-melee

A native PC build of Melee from the decomp, plus a runtime that loads mods from a folder without rebuilding the game.

decomp, so it's all C now
100%
mod runtime
v0

C, Rust, the doldecomp/melee decompilation

struct Example {
  u32      flags;
  f32      scale;
  Example* next;
  u8       kind;
};
  • u32 flags
  • f32 scale
  • Example* next
  • u8 kind
  • padding
16 bytes · big-endian · 4-byte pointers
02

Audio

My setup is a Dante network, a Scarlett 18i20, and a Mac mini running my DAW. Most of my audio projects start with wanting to control that stuff from code, or wanting to understand how it actually works.

building

xlr

A CLI and Rust crates for controlling pro audio gear without the vendor apps. Dante, Focusrite, and PipeWire so far.

backends so far
3
on everything, for scripts and agents
--json

Rust

desksynthmac-mini
rx ↓ / tx →mic 1mic 2LRLR
monitors L
monitors R
phones L
phones R
recorder 1
recorder 2
click a square to change a subscription48 kHz · 6×6
03

Homelab and agents

My homelab is called Superbloom. It's also where a lot of my agent stuff runs, since running a cluster is a pretty good test of whether an agent is actually useful.

building

Superbloom

My homelab, all declared in git. NixOS on the machines, ArgoCD for everything else, and Hermes, an agent that keeps it running and messages me on Discord.

nodes over Tailscale
2
ZFS RAIDZ2
8×8 TB
on the DGX Spark
128 GB

NixOS, K3s, Flux, ArgoCD, KServe, vLLM

  • jellyfinsuperbloom
  • sonarrsuperbloom
  • grafanasuperbloom
  • autheliasuperbloom
  • home-assistantsuperbloom
  • minecraftsuperbloom
  • chat-modelspark
  • embed-modelspark
    simulated · not hooked up to the real cluster (yet)
    building

    saavy_agent

    My daily driver agent. It's one endless chat that keeps every message and compresses the history into a tree of summaries, so the model can zoom back into old context instead of losing it.

    pi-durable, OptChat memory, Tern

    01234567891011121314150-12-34-56-78-910-1112-1314-150-34-78-1112-150-78-150-15
    view: emptyin the view
    04

    Other stuff

    Smaller tools, libraries, and things I do for fun.

    Nothing here yet.

    Contact

    SaavyLab LLC is just me. It owns textures.gg and the open source under github.com/SaavyLab and github.com/texturesgg.

    If you want to talk about any of this, email me at jayson@saavylab.com.