Available now for contract work

Vulkan engines, compilers, and everything below the framework.

I'm Benjamin Rosseaux — BeRo in the demoscene. I build renderers, game engines, physics engines, JIT compilers, emulators, script engines, operating systems, network stacks and LLM inference from scratch. My sampler engine ships inside FL Studio, my Vulkan engine runs commercial games, and my rewrite of the 1541 drive emulation is part of VICE.

Remote from Germany · English & German · Short engagements welcome

Benjamin Rosseaux
1,462
GitHub stars
24
Public projects
22
Years of public releases
65
Demoscene productions

What you can hire me for

Six ways to put me to work

Fixed scope or ongoing, remote, in English or German. If it is low-level, performance-critical, or nobody else wants to touch it — that is my part of the stack.

Engine & graphics programming

Vulkan renderers, GPU pipelines, shading and lighting, culling and draw submission, frame-time optimisation, asset pipelines. I have written two engines from nothing — an OpenGL one that shipped a released game, and the Vulkan one that commercial titles run on — so I know where real projects lose their milliseconds.

VulkanGLSL / SPIR-V PBRglTFProfiling

Public proof: PasVulkan · Kraft · Supraleiter · two published talks on rendering

Low-level & systems engineering

Compilers, virtual machines, emulators, parsers, protocol implementations, lock-free concurrency, SIMD optimisation — and, more recently, LLM inference written from the matrix multiply upwards. I have written an operating system from the boot sector up, scheduler and SMP included, and rewritten the 1541 drive emulation in VICE down to the level of individual magnetic flux transitions. There is not much below this that I have not had my hands in.

CompilersJITLock-free SIMDEmulationLLM inference

Public proof: BESEN · PACC · FLRE · PasMP · PasRISCV · PasLLM · VICE (1541 emulation) · ExcantOS

Object Pascal & Delphi engineering

Large legacy Delphi codebases, Free Pascal migration, cross-compiler compatibility, and libraries that must behave identically on every target. It is a small world, and a good part of its open-source infrastructure has my name on it.

DelphiFree Pascal Legacy migrationCross-platform

Public proof: 20+ published Pascal libraries · CrossPascal · BESEN

Cross-platform desktop applications

Applications that are genuinely native on each system, rather than one toolkit painted everywhere. I keep a digital audio workstation running on Windows, macOS and Linux — Win32, Cocoa, GTK and Qt widget layers, GPU canvases on OpenGL, Direct2D and Metal, and audio through ASIO, WASAPI, CoreAudio, ALSA, PipeWire and JACK, every backend written by hand. I know which cross-platform abstractions hold and which leak, because I have had to replace the leaking ones.

Windows / macOS / LinuxWin32 / Cocoa / GTK / Qt OpenGL / Direct2D / MetalPackaging

Public proof: Klangknecht · BeRoTracker · micro64 · PasVulkan

Audio & DSP

Software synthesis, audio engines, DSP algorithms, mastering chains and real-time audio paths. I have written a SoundFont engine good enough to be licensed into FL Studio, a full DAW, a tracker that hosts VST and CLAP plugins, a browser-based mastering tool, a speech synthesis engine, and synthesizers small enough to fit inside a 64k intro.

SynthesisDSP Real-time audioSequencing

Public proof: Sobanth (in FL Studio) · BeRoTracker · Klangknecht · Masterknecht · four released singles

Selected work

Twenty years of building things from scratch

No screenshots of things you cannot check. Almost every project below is public — open source, a released product, or a demoscene production with a date on it. Click through and look.

Commercial work

Code of mine that ships in other people's products

FL Studio — SoundFont player

My SoundFont 2 synthesis engine, Sobanth, powers the SoundFont Player that FL Studio has shipped since version 20.9 in 2022. Somebody else's flagship product, running my synthesis code, in front of a very large number of musicians.

Games on my own Vulkan engine

For the past few years my work has gone into commercial games built entirely on PasVulkan, together with a small team. The first is heading to release, and a full case study will appear here once it is announced.

About

Where the abstractions run out

I write code at the level where the abstractions stop helping. Not out of nostalgia — that is simply where the interesting problems live: the garbage collector, the register allocator, the memory barrier, the last two milliseconds of the frame.

Much of how I work comes from the demoscene. I am BeRo in Farbrausch, a group known for fitting entire audiovisual productions into 64 kilobytes. No engine, no libraries, every byte accounted for — it turned out to be very good training for everything that came afterwards.

I released my first JIT-compiling scripting language in 2004 and my first tracker the same year. Since then: an ECMAScript engine with a JIT, a C compiler with its own linker, a 3D physics engine, a Vulkan renderer, a half-cycle-exact C64 emulator, a RISC-V emulator that boots Linux, an operating system with its own boot loader and SMP scheduler, and an LLM inference engine. Along the way I rewrote the 1541 floppy emulation in VICE — the reference Commodore emulator — to be exact down to the magnetic flux transitions, and designed the P64 image format that stores them.

I work remotely from Germany, in English or German. I document what I find, I say when something is harder than hoped rather than discovering it with you at the deadline, and I am comfortable being handed a codebase with no documentation and asked what is wrong with it.

Based in
Germany — working remotely, worldwide
Languages
German (native), English
Writes
Object Pascal / Delphi, C, x86 & AMD64 Assembly, GLSL, JavaScript
Fields
Vulkan & GPU, compilers & VMs, real-time networking, concurrency, DSP, LLM inference
Demoscene
Farbrausch and Null OK, as BeRo — 65 productions since 2006
Availability
Open for new work — short and long engagements

Contact

Tell me what is broken, or what needs building

Email is the fastest route. Write in English or German — whichever you prefer.

benjamin@rosseaux.com

I usually reply within one working day.

What helps me give you a useful answer:

  • What the software does, and roughly how large it is
  • Language, toolchain and target platforms
  • What is going wrong — or what needs to exist
  • Your timeframe, and the budget range you have in mind