Software engineer · Norwich

Graphics engineer turned
generative-AI full-stack.

I build the software that processes images and video, from effects and rendering engines in desktop editors to orchestrated generative model pipelines at scale.

Get in touch See my work

Ruben Galvão
About

Over twenty years of pixels.

I studied Computing Science at the University of East Anglia from 2004 to 2007 and graduated with a first. I stayed on for a PhD, funded by a scholarship. My research was about rendering crowds on the GPU.

In 2010 I joined FXhome. For over a decade I was part of the small team that built its video and image software. I worked on the graphics side: effects, plugins, rendering and UI.

Since Artlist acquired FXhome, my work has moved to the full stack, focused on generative model workflows: the pipelines that turn models into reliable products.

I also volunteer as a coach at codebar, helping people from underrepresented groups learn to code.

Work

What I built

Artlist Studio

Artlist · AI video production platform

Contributed a lot to Artlist Studio, especially its generative workflows and infrastructure, and a number of substantial UX features.

Artlist AI Toolkit

Artlist · Image, video and voice generation

Improving the user experience and reducing generative error rates, to raise the conversion rate.

Artlist MCP

Artlist · Model Context Protocol server

Worked on implementing the Artlist MCP server, which lets AI assistants such as Claude generate images, video and voiceovers from an Artlist account.

Artlist and Motion Array plugins screenshot

Artlist and Motion Array plugins

Artlist · Extensions for video editors

Worked on the extensions and plugins that bring Artlist and Motion Array into editing software such as Premiere Pro, After Effects, DaVinci Resolve and Final Cut Pro.

HitFilm screenshot

HitFilm

Video editing and VFX · 2011 onwards

Joined to work on HitFilm 1. Implemented most of its visual effects across every version, and the hosting of third-party plugins. Also a significant part of everything else in the app, including the viewer interactions and all text rendering, with our own implementation of the Unicode algorithms for multi-language support. Most of our apps used Qt for the interface.

Ignite plugins screenshot

Ignite plugins

Effects plugins for video editors

Implemented almost all of the effect plugins in C++, with the graphics in OpenGL. They run natively on several host SDKs, including Adobe AEX and OFX; FXhome was part of the OFX consortium.

Imerge Pro screenshot

Imerge Pro

Image compositing

Significant contributions to the product, whose effects mainly ran on OpenCL.

PhotoKey

Green-screen and photo compositing

Already existing when I joined. I substantially improved effect performance and quality, with many other improvements over the years.

CamTrackAR

iOS augmented-reality tracking app

Wrote the green-screen algorithm and made it run efficiently in real time on phones, using Metal.

Next-generation video engine

Rendering engine for a video editor

Heavy involvement in a rendering engine built from the ground up for efficient video and effects processing, using DirectX on Windows and Metal on Mac. To exercise it I built internal testing video editors on top, in WinUI 3 and SwiftUI. It supported fully ACES-compliant colour-managed video editing workflows. It worked very well, and I am proud of it.

Timeline

  1. 2010

    Joined FXhome to work on HitFilm 1

    Hired into a small team of developers to build HitFilm, released in July 2011. From then on I worked on every FXhome product. [Pro Video Coalition]

  2. 2010–2021

    Effects, plugins and rendering across the product line

    Implemented most of the visual effects in every app, and virtually all of the Ignite plugins. HitFilm alone reached over 2.4 million users worldwide. [Pro Video Coalition]

  3. 2021

    FXhome acquired by Artlist

    Artlist acquired FXhome in July 2021 and the software team joined Artlist. FXhome reported a community of over 6 million users at the time. [Pro Video Coalition]

  4. Now

    Full stack at Artlist

    My role shifted to full stack, specialising in generative model workflows, with Temporal for orchestration.

Research

Published papers

Real-time crowd rendering on the GPU, with Stephen Laycock and Andy Day at the University of East Anglia.

How I work

Give me the problem nobody else knows how to solve.

When a new task lands that no one has done before, I'm usually the one who gets it. I work out how it's done and make it work well.

  • Made a green-screen algorithm run in real time on phones.
  • Wrote a text-rendering engine with our own Unicode algorithms for multi-language support.
  • Built a video rendering engine from scratch for DirectX and Metal.
  • Moved from GPU graphics to full-stack generative model pipelines.
  • Worked on more things and technology stacks than I can remember.
Skills

Core tools

A selection. I pick up whatever the problem needs.

C++PHPOpenCLMetal Shading LanguageQtColour theoryHTMLAWSDatadogMLACodexImage modelsBlack Forest LabsC++PHPOpenCLMetal Shading LanguageQtColour theoryHTMLAWSDatadogMLACodexImage modelsBlack Forest Labs
C#SQLVulkanGPU renderingSwiftUIAdobe AEXCSSCloudflareMixpanelDSAOllamaGoogleLightricksC#SQLVulkanGPU renderingSwiftUIAdobe AEXCSSCloudflareMixpanelDSAOllamaGoogleLightricks
PythonPrologDirectXCompositingSwiftPremiere ProReactFirebaseJiraCSAGitHub CopilotByteDancePythonPrologDirectXCompositingSwiftPremiere ProReactFirebaseJiraCSAGitHub CopilotByteDance
TypeScriptBashMetalVisual effectsWinUI 3After EffectsSvelteArgo CDTransformersEngramMCPOpenAITypeScriptBashMetalVisual effectsWinUI 3After EffectsSvelteArgo CDTransformersEngramMCPOpenAI
JavaScriptShellCUDAText renderingACESOFXNext.jsDockerMHAMixture of expertsUXKlingJavaScriptShellCUDAText renderingACESOFXNext.jsDockerMHAMixture of expertsUXKling
RustPowerShellGLSLUnicodeColour managementARKitNode.jsGitMQAKV cacheGenerative model workflowsMiniMaxRustPowerShellGLSLUnicodeColour managementARKitNode.jsGitMQAKV cacheGenerative model workflowsMiniMax
JavaOpenGLHLSLCrowd renderingColour sciencePlugin hostingTemporalGitLab CIGQAClaudeVideo modelsAlibaba WanJavaOpenGLHLSLCrowd renderingColour sciencePlugin hostingTemporalGitLab CIGQAClaudeVideo modelsAlibaba Wan

 

Talks

Presentations

Upcoming · 26 October 2026

A Deep Seek into LLM Architecture

How large language models work under the hood, from a single neuron to DeepSeek's attention and mixture-of-experts designs.

Slides coming soon
Contact

Let's talk.

Interested in my work, a talk or a collaboration? The best way to reach me is on LinkedIn.

LinkedIn GitHub ruben@galvao.co.uk