Skip to content
View matthewjberger's full-sized avatar
🦀
Writing something in Rust, probably
🦀
Writing something in Rust, probably

Block or report matthewjberger

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
matthewjberger/README.md

Matthew Berger

Senior Staff Rust Software Engineer. I have written production Rust at every layer of the stack, from bare-metal firmware to cloud infrastructure. Founding software engineer at Hyphen Robotics, where I built a food assembly robotics controls suite from zero to production in 22 months, underpinning $35M+ raised from Chipotle and Cava.

Working with Rust since 2016, with 5 years in production robotics at Hyphen Robotics and earlier production Rust at Sierra Nevada Corporation (aerospace imaging). Background also includes medical robotics at Hamilton Company.

matthewberger.dev · LinkedIn

Notable work

  • Nightshade: data-oriented Rust game engine with an advanced PBR renderer and custom render graph, built-in editor, rapier3d physics, kira audio, gltf asset loading, scene graph, object picking, and Steam integration. Runs natively on DX12/Metal/Vulkan and in-browser via WebGPU. Live demo.
  • freecs: archetype-based ECS in Rust with zero unsafe code, Rayon-parallel execution, sparse-set tags, and compile-time generation; the foundation of Nightshade. 48k+ downloads on crates.io. Design documented in a 3-part article series.
  • Nightshade Viewer: a glTF/GLB model viewer that runs the Nightshade engine in a web worker via WebGPU, rendering off-thread to an OffscreenCanvas while a Leptos UI (viewport, scene tree, inspector, toolbar, asset browser) stays responsive on the main thread. Supports drag-and-drop, scene picking, and object selection, with optional MCP control by tools like Claude Code. Runs in-browser and as a native webview desktop app. Live demo.
  • Neon: a code editor in Rust. A Leptos UI in a wry webview with the Nightshade engine in a web worker via WebGPU, extended by rhai plugins for both editor behavior (a deep Spacemacs leader, modal editing, commands) and a live 3D scene. Full rust-analyzer support (completion, diagnostics, hover, signature help, definition, references, symbols, rename, code actions, formatting), file editing with project search, and Claude through MCP. All Rust, no npm. Live demo.
  • enum2 derive macro family: 230k+ combined downloads on crates.io for enum-driven design patterns; several (including enum2contract and enum2str) used in production Rust at Hyphen Robotics.
  • wgpu-example: cross-platform Rust + wgpu + egui template running on native, web, Android, Steam Deck, and OpenXR VR.
  • bamboo: fast Rust static site generator that powers matthewberger.dev. Live demo.

Other projects

  • hearsay: topic-based pub/sub for Rust built on tokio; an in-process broker with TCP and WebSocket peers, typed enum contracts, broker bridging, message batching, and supervised child processes
  • cameras: cross-platform Rust camera library with data-oriented design
  • stateless: state machine library with a DSL separating structure from behavior
  • frost: statically-typed programming language with Rust-inspired ownership and a dual backend (bytecode VM + Cranelift JIT)
  • mobius: orchestrates a graph of Claude Code agents that feed each other in loops. A tokio host owns the agent subprocesses over a hearsay bus, a Leptos UI in a wry webview visualizes and drives the graph, and a conductor agent takes plain-English commands through MCP. Stage a graph as data, execute it, and watch the agents pass work along the edges. All Rust; the web UI deploys to GitHub Pages and connects to a local host over websockets.

Also: dragonglass (PBR Vulkan engine), dhcplease (DHCP server), clippr (MP4 to GIF tool), and charter (Rust codebase context generator for LLMs). See crates.io/users/matthewjberger for the full list of published Rust crates.

Go projects

  • indigo: early data-oriented Go game engine with an archetype ECS, a wgpu-backed render graph, dual-world simulation/render separation, and free-function systems on a named schedule; native (GLFW) and web (WebAssembly) targets
  • freecs-go: archetype ECS for Go, port of the freecs Rust library
  • wgpu-example-go: Go port of wgpu-example with a spinning RGB triangle on native desktop (GLFW) and WebGPU (WASM)
  • stateless-go: state machine code generator for Go that decouples data from behavior
  • pubsub-go: small JSON-over-TCP pub/sub broker and client in Go, data-oriented design
  • terminal-go: tiny data-oriented Go text adventure (Zork-style) with SoA room/item tables, bitset tags, free-function verbs, and one-call gob save/load

Pinned Loading

  1. nightshade nightshade Public

    A data-oriented game engine written in Rust with a custom ECS 🦀 Works on Windows/Linux/MacOS/Web

    Rust 40 1

  2. wgpu-example wgpu-example Public

    A minimal example of using Rust, wgpu, and egui without using eframe 🦀 Works on Windows/Linux/MacOS/Web/Android/OpenXR (Such as Quest 3 + Virtual Desktop)

    Rust 121 15

  3. freecs freecs Public

    A powerful and compact ECS library for Rust🦀

    Rust 13 2

  4. enum2egui enum2egui Public

    A rust derive macro for creating egui UI's to edit or view arbitrary structs and enums 🦀

    Rust 11 2

  5. hearsay hearsay Public

    A communication bus for async Rust 🦀

    Rust

  6. cameras cameras Public

    A cross-platform camera library for Rust🦀

    Rust 6 1