Available for Projects

Holger Trahe

Senior Systems Architect & Rust Engineer

Senior Rust Engineer building production toolchains for lighting (GLDF, EULUMDAT, L3D, TM-25) and BIM/IFC. 60 crates on crates.io, 8 PyPI packages, bindings for Python, WASM, Swift/Kotlin, PHP and Java. Latest: firmware that runs on the chip and in the browser, AutoLISP scripting in the GLDF and IFC editors, and HL7/DICOM tooling.

RustPythonWebAssemblySwiftBevyLeptos

NewLive demos โ†’How I build in Rust โ†’Showcase reel โ†’

Cross-platform Rust development - Python, WASM, Swift, PHP bindings
20+Years Experience
60Crates Published
8PyPI Packages
4App Store Apps

Services

๐Ÿฆ€

Rust Libraries

Workspace-scale Rust libraries with cross-platform bindings โ€” Python (PyO3/maturin), WASM, Swift/Kotlin (UniFFI), Java (JNI), PHP.

๐Ÿ’ก

Lighting & BIM Tooling

Photometric & BIM toolchains: GLDF, EULUMDAT/LDT, IES, L3D, IFC. Parsers, validators, viewers, ray tracers, report generators.

๐Ÿ“ฑ

iOS / watchOS / macOS

Native Apple platform apps leveraging Swift and Rust cores via UniFFI.

๐ŸŒ

WebAssembly

Browser-native apps with Leptos + Bevy + WebGPU, plus complex C++/Qt to WASM ports.

๐Ÿ

Python Web Backends

Django & Flask expert since the early days. REST APIs, ORMs, production deployments.


Projects

eulumdat ecosystem

eulumdat ecosystem

Photometric file toolchain (EULUMDAT/LDT + IES) โ€” parser, validator, CLI, TUI, cross-platform egui GUI, Bevy 3D viewer, WASM editor, Windows preview handler, Typst report generator, and (WIP) wgpu ray tracer for virtual goniophotometry. ~20 crates, all at v0.7.0. 8,500+ crate downloads, 56k+ PyPI downloads.

eulumdat: crates.io downloadseulumdat: PyPI downloadseulumdat-quiz: PyPI downloads
RustPythonWASMBevyeguiwgpuratatuiTypst
Workspace Crates (16)
eulumdat
5,300+ crates47k+ PyPI
Core EULUMDAT (LDT) + IES parser/writer/validator
eulumdat-cli
150+ crates
Command-line tool for LDT/IES
eulumdat-egui
130+ crates
Cross-platform GUI viewer (Win/macOS/Linux)
eulumdat-bevy
720+ crates
3D scene viewer using Bevy
eulumdat-wasm
93 crates
Browser-based LDT/IES editor
eulumdat-tui
24 crates
Terminal-based viewer (ratatui)
eulumdat-windows-preview
130+ crates
Windows Explorer preview handler for LDT/IES
eulumdat-photweb
140+ crates
Photometric web representation, sampling, 3D mesh generation
eulumdat-rt
82 crates
GPU ray tracing engine via wgpu compute shaders
eulumdat-goniosim
130+ crates
CPU Monte Carlo photon tracer for virtual goniophotometry
eulumdat-quiz
250+ crates9,000+ PyPI
Photometric knowledge quiz engine
eulumdat-typst
150+ crates
Typst report generation for photometric data
eulumdat-ffi
95 crates
FFI bindings for Swift/Kotlin/Python via UniFFI
eulumdat-py
73 crates
Python bindings (stand-alone)
eulumdat-spectrum
19 crates
Spectral power distributions, CIE colorimetry, alpha-opic and mesopic weighting
eulumdat-daylight
18 crates
Solar position, sky luminance (Perez / CIE), daylight availability
gldf-rs

gldf-rs

Complete GLDF format implementation in Rust with cross-platform bindings โ€” now at v0.4.0 with egui desktop viewer, UniFFI for iOS/macOS/Android, and an expanded search/index workspace. The editor is scriptable in AutoLISP and also runs as a terminal app (ratatui). 17k+ crate downloads, 49k+ PyPI downloads.

gldf-rs: crates.io downloadsgldf-rs-python: PyPI downloads
RustWASMPythonPHPJavaiOSeguiUniFFI
Workspace Crates (7)
gldf-rs
10k+ crates
Core GLDF parser library (v0.4.0)
gldf-rs-python
1,600+ crates49k+ PyPI
Python bindings via PyO3
gldf-rs-wasm
1,900+ crates
WebAssembly GLDF viewer for the browser
gldf-rs-egui
110+ crates
Cross-platform egui desktop viewer
gldf-rs-ffi
110+ crates
UniFFI bindings for iOS/macOS/Android
gldf-sign
1,500+ crates
Sign and verify GLDF files
gldf_rs_php
1,500+ crates
Native PHP extension
gldf-search

gldf-search

Deterministic, in-process search/index for GLDF luminaire catalogs. Delivers product-discovery workflows previously requiring heavyweight commercial photometric/lighting infrastructure โ€” orders of magnitude faster, using a small fraction of the resources. 6-crate workspace (schema, index, extractor, CLI, server, Leptos UI), all at v0.1.0 โ€” actively evolving from a linear-scan reference implementation toward fst+roaring-bitmap indexes. 760+ crate downloads.

gldf-search: crates.io downloads
RustSearchGLDFLeptosfstroaringWIP
Workspace Crates (6)
gldf-search-schema
270+ crates
Document, filter, and facet types; reference predicates
gldf-search-index
180+ crates
Index core (linear-scan reference โ†’ fst+roaring)
gldf-search-gldf
170+ crates
GldfProduct โ†’ LuminaireDoc extractor (typed XSD fields + variant Name mining)
gldf-search (CLI)
24 crates
CLI: corpus extraction, family-fold dedup, search
gldf-search-server
23 crates
Indexer / server runtime
gldf-search-leptos
82 crates
Leptos SSR + hydrate search UI
l3d-rs

l3d-rs

L3D (Luminaire 3D) file format parser with transformation matrices for WASM/WebGL rendering. Now includes egui desktop viewer and UniFFI bindings for iOS/Android. 2,900+ crate downloads, 147k+ PyPI downloads.

l3d_rs: crates.io downloadsl3d-rs-python: PyPI downloads
RustPythonWASMWebGLeguiUniFFI
Workspace Crates (4)
l3d_rs
2,800+ crates
Core L3D parser
l3d-egui
84 crates
Desktop + web 3D viewer (egui + three-d)
l3d-ffi
74 crates
UniFFI bindings for Android (Kotlin), iOS (Swift)
l3d-rs-python
147k+ PyPI
Python bindings via PyO3
tm25ray

tm25ray

Reader and writer for IES TM-25 ray files: zero-copy ray views, vendor quirks handled bit-exactly, about 91 M rays/s decoded. Feeds the WebGPU viewer and virtual goniometer on iesna.eu. 30 crate downloads.

tm25ray: crates.io downloads
RustPhotometryTM-25WebGPU
Greenhouse Console

Greenhouse Console

SCADA in a browser tab for TRAHE SYSTEMS: live mimics, alarms, trends, MQTT โ€” and a DALI gateway reached over USB (WebSerial). The gateway logic is one pure Rust crate shared by the browser, an ESP32-C6 and an STM32.

RustWASMDALIMQTTEmbedded
geodb-rs

geodb-rs

World city database in Rust: flat DB and search blobs, a WebGPU globe that starts at 274 KB, and Embassy firmware for the STM32F769I-DISCO whose same code runs in the browser as WebAssembly. Workspace: core, CLI, WASM, Python, firmware. 3,000+ crate downloads, 11k+ PyPI downloads.

geodb-core: crates.io downloadsgeodb-rs: PyPI downloads
RustWASMWebGPUEmbassyPythoniOSwatchOStvOS
Workspace Crates (4)
geodb-core
2,500+ crates
Core geographic database engine
geodb-cli
170+ crates
Command-line tool
geodb-wasm
170+ crates
WebAssembly bindings with embedded dataset
geodb-py
110+ crates11k+ PyPI
Python bindings via PyO3
bimifc

bimifc

Pure Rust IFC parser and viewer for BIM applications. Browser-native viewer using Leptos UI + Bevy 3D with WebGPU/WebGL2 rendering, plus a ratatui-based TUI for headless inspection. 8-crate workspace, all at v0.2.0. Includes an AutoLISP REPL that writes IFC models in the browser. 2,900+ crate downloads, 15k+ PyPI downloads.

bimifc-parser: crates.io downloadsbimifc: PyPI downloads
RustBIMIFCWebGPUBevyLeptosWASMratatui
Workspace Crates (10)
bimifc-parser
770+ crates
High-performance IFC parser (IFC4 STEP + IFC5 IFCX)
bimifc-model
870+ crates
Trait definitions and shared types
bimifc-geometry
550+ crates
Geometry processing for IFC models
bimifc-bevy
260+ crates
Bevy 3D viewer with WebGPU/WebGL2
bimifc-leptos
150+ crates
Leptos UI components for the BIM viewer
bimifc-viewer
28 crates
Composed web viewer (Leptos UI + Bevy 3D)
bimifc-viewer-tui
54 crates
Terminal-based IFC viewer with floor plan rendering
bimifc-py
15k+ PyPI
Python bindings (PyO3 / maturin)
bimifc-writer
140+ crates
IFC 2x3 STEP writer
bimifc-lisp
87 crates
AutoLISP scripting engine for IFC models
acadlisp

acadlisp

AutoLISP interpreter and mini-CAD engine in Rust/WASM โ€” the 1991 CSV โ†’ template โ†’ schematic workflow, revived, with DXF R12 and KiCad export. Also the scripting engine inside the GLDF and IFC editors. 220+ crate downloads.

acadlisp: crates.io downloads
RustLISPCADInterpreter
Background removal (Burn)

Background removal (Burn)

Uยฒ-Net background removal compiled to WebAssembly with Burn: WebGPU by default, a CPU fallback, the weights inside the binary โ€” the image never leaves the page.

RustBurnWASMWebGPUML
dicomscope

dicomscope

DICOM meets HL7 v2 in the browser: a CT study and its HL7 order read locally, linked by Study Instance UID and accession number, mapped to FHIR โ€” no upload, auditable no-network build. Built on hl7kit.

RustWASMDICOMHL7FHIR
hl7kit ยท mwlkit

hl7kit ยท mwlkit

HL7 v2 parsing with byte spans for every field, and HL7 imaging orders turned into DICOM worklist items. Rust crates with Python bindings; the engine behind dicomscope. 50 crate downloads, 1,700+ PyPI downloads.

hl7kit: crates.io downloadshl7kit: PyPI downloadsmwlkit: PyPI downloads
RustHealth ITHL7DICOMPython
Workspace Crates (2)
hl7kit
38 crates900+ PyPI
Dependency-free HL7 v2.x parser and builder with byte spans
mwlkit
12 crates860+ PyPI
HL7 v2 imaging order โ†’ DICOM Modality Worklist item
z-image-burn

z-image-burn

Rust port of the Z-Image generative model using the Burn deep learning framework โ€” exploring on-device, GPU-portable inference.

RustBurnMLGPU
scopekit

scopekit

ratatui viewers with live wgpu views โ€” in any terminal (kitty, iTerm2, sixel or half blocks) or in their own window, from the same UI code. 17 crate downloads.

scopekit: crates.io downloads
RustratatuiwgpuTUI
Rusterando

Rusterando

Delivery and order platform in Rust โ€” cook food, keep margins. Full-stack experiment in pragmatic SaaS architecture.

RustFull-StackSaaS
Wuhan-Trans

Wuhan-Trans

On-device voice translator for iOS/macOS โ€” Chinese / English / German + 23 languages. Uses WhisperKit for transcription, Apple Translation, and MultipeerConnectivity for peer-to-peer pairing.

SwiftiOSmacOSWhisperKitML
RoomPlanSimple

RoomPlanSimple

iOS LiDAR room scanning app that creates USD 3D models โ€” with IFC export for BIM workflows, bridging on-device AR capture into the same pure-Rust IFC pipeline used by bimifc. Published on the App Store.

SwiftiOSLiDARARKitIFCBIM
bitcoin_de

bitcoin_de

Rust implementation of the Bitcoin.de Trading API v4. 1,300+ crate downloads.

bitcoin_de: crates.io downloads
RustAPICrypto
TinyTwilioStripe

TinyTwilioStripe

Compact Rust backend for Twilio Video/Audio calls with optional Stripe payments. 3,100+ crate downloads.

tiny_twilio_stripe: crates.io downloads
RustActix-WebTwilioStripe
QLumEditWeb

QLumEditWeb

Complex C++/Qt desktop app ported to WebAssembly for browser usage.

C++QtWASM
Burn & CubeCL (Contributor)

Burn & CubeCL (Contributor)

Fixes merged upstream while running models in the browser: staging-buffer flushing in CubeCL's wgpu runtime, and a dtype match in burn-candle.

RustBurnWebGPUOpen Source
Pillow (Contributor)

Pillow (Contributor)

Contributed to the Python Imaging Library โ€” one of Python's most-used packages. 9B+ PyPI downloads.

pillow: PyPI downloads
PythonOpen SourceContributor

Let's Work Together

Based in NRW, Germany. Available for remote consulting worldwide.