Developer experience leadership

Making complex platforms usable for developers.

I work across native APIs, language bindings, game-engine integrations, documentation, and communities so developers in different stacks can build on complex systems.

My work spans libVLC’s C API and bindings in multiple languages, C++ and C# work on VLC for Unity, and Rust-to-C# integrations around Kyber and Servo. VLCLR extends that work into native VLC plugins and local AI.

From native systems to developer adoption
01 / C · C++ · RustNative systems
02 / APIs · bindings · SDKsDeveloper interfaces
03 / Unity · plugins · communityWorking integrations

Selected experience

The developer path, from engine to application.

A C API, many languages

libVLC is a C API. I have contributed to it and to bindings in different languages. I created LibVLCSharp in 2018 and administer VideoLAN’s NuGet account: 22 packages with 7M+ downloads, covering native builds per platform and managed integrations for a dozen UI toolkits.

Rust to C#

KyberSharp brings Kyber’s Rust SDK into C#. I also co-built ServoFocus for Mozilla, a Xamarin.Forms prototype connecting C# to the Rust-based Servo browser engine.

Current project · VLCLR

A C# path into native VLC plugins.

VLCLR is an experimental framework for authoring VLC 4 plugins in C# and publishing them as Native AOT libraries that VLC loads directly. I am building it around the work a plugin author should be able to focus on: the video, text, or audio feature itself.

Explore VLCLR

The developer experience

Attribute-based modules and a source generator handle native exports, callbacks, configuration, and plugin lifecycle. Base classes and ABI wrappers cover video, subtitles, audio, player, and playlist integrations.

Local AI in working examples

Runnable samples show YOLOX object detection in video, offline subtitle translation, and live speech translation.

VLCLR is experimental and currently targets Windows x64.

Browse source and samples

People & community

A community across stacks.

I created the LibVLC community Discord to connect users and bindings maintainers across programming languages. It has grown to 1,500+ members working across 10+ technical stacks.

I was a Google Summer of Code mentor in 2021 and 2026.

I also share what I learn through technical writing, a 200-page ebook on LibVLC, and talks in Canada, Europe, and Asia, so developers can understand the choices behind an API or integration.

How I work

Make the first integration work—and keep it working.

Good developer experience connects API design with packages, examples, documentation, release practices, and the feedback developers bring back from real applications.

Discuss a project