Skip to content
Jon Reynolds

Senior software engineer / San Francisco

I build the systems powering cameras, calls, and chats.

For apps used by hundreds of millions of people every day.
Currently Roblox. Previously Meta.

Photo: Jon Reynolds

Selected work

From the camera sensor
to the chat window.

RobloxUser / Communication / Party Chat

Smoother chat, with more room for the game.

On Android, scrolling Roblox’s private chat window averages about 30 FPS, and chat on top of a game takes frames and memory from the game itself.

I designed and built a shared list framework that virtualizes long lists, rendering only what’s on screen, and reuses those views instead of creating new ones for every message, targeting 60 FPS in both places. It’s in experimentation in chat now, with Home, Avatar Marketplace, and Friends next.

Private chat on Android: ~30 FPS today → 60 FPS target
RobloxUser / Communication / Party Chat

Talk instead of type.

Typing mid-game is slow, especially on a phone. I owned the client side of speech-to-text in chat for every Roblox game and platform: the mic button, audio routing, a waveform that moves as you speak, and words that highlight as they’re recognized.

Shipped in every Roblox game, on every platform
MetaReality Labs / Camera & AR Services

HDR video, for every Android device.

When Google Pixel and Samsung Galaxy phones began recording HDR video, Meta’s apps rendered it in 8-bit, so clips looked blown out.

I built 10-bit HDR support for Instagram, Facebook, and Messenger on Android, converted in real time to look right on new and older phones alike. I worked directly with Google and Samsung ahead of those launches.

Shipped in Instagram, Facebook, and Messenger on Android
MetaReality Labs / XR Camera Algorithms

A clear view, even as you turn your head.

Quest headsets show you the room through their cameras, and a quick head turn smears a normal exposure.

I improved motion-aware auto-exposure for Quest 3 and later, using the gyroscope to shorten exposure while you turn: a little grain for a sharp view.

Shipped on Quest 3 and later headsets
MetaAI Infrastructure / PyTorch Developer Experience

Explaining the choices of AI models.

Captum is PyTorch’s open-source library for explaining which parts of an input an AI model relied on.

I built its interactive widgets for Jupyter and Colab, so researchers can explore those explanations right in their notebooks.

Open source, part of the PyTorch ecosystem
Recycled message viewsReused components improve speed and memory
Also at Roblox

Calls, consoles, and chat.
Bringing more players together.

Friends Calling, native on Android.

Leading the Android integration of Roblox’s first full, cross-platform calling, built on Telecom and CallStyle notifications so calls behave like phone calls. Also building the cross-platform calling UI.

Bringing chat to more players.

Brought Roblox chat to consoles for the first time, and to users under 13 with parental consent and Trusted Friends safeguards.

Replies, reactions, and sharing.

Modernizing Roblox chat with the features people expect from a messaging app, on a leaner, faster React state layer, measured with telemetry and A/B experiments.

ExperienceRésumé PDF
  1. Roblox

    Senior Software Engineer, Communication

    • User / Communication / Party Chat
      ReactLuaC++AndroidKotlin
  2. Meta

    Software Engineer

    • Reality Labs / XR Camera Algorithms
      C++CPython
    • Reality Labs / Camera & AR Services
      AndroidKotlinJavaC++OpenGL
    • AI Infrastructure / PyTorch Developer Experience
      PythonPyTorchReact
  3. University of Illinois Urbana-Champaign

    B.S. Computer Science, Minor in Mathematics · High Honors

Through my lens

Outside of software,
I make photographs.

Every photo on this site is mine, including the ones behind the header. Most were shot on a Ricoh GR III or GR IIIx: on trails in New Zealand and the Rockies, in markets in Kyoto and Mexico City, and under fireworks in Sydney.

Lake Wakatipu Sunset
Lake Wakatipu SunsetQueenstown, New Zealand
Night in Shinjuku
Night in ShinjukuTokyo, Japan
Teotihuacan Hot Air Balloons #1
Teotihuacan Hot Air Balloons #1Teotihuacan, Mexico
Tūī
TūīMilford Sound, Fiordland National Park, New Zealand
Vernazza
VernazzaVernazza, Italy
Starfield Library
Starfield LibrarySeoul, South Korea
Mount Ngauruhoe
Mount NgauruhoeTongariro National Park, New Zealand
The Turkish Clock
The Turkish ClockMexico City, Mexico
Sydney Fireworks #2
Sydney Fireworks #2Sydney, Australia
Kalalau Coastline
Kalalau CoastlineKauai, Hawaii, USA
Khruangbin @ The Greek Theatre
Khruangbin @ The Greek TheatreBerkeley, California, USA
The House of Tiles
The House of TilesMexico City, Mexico
Earland Falls
Earland FallsRouteburn Track, Fiordland National Park, New Zealand
Sydney Opera House
Sydney Opera HouseSydney, Australia
Senbon Torii
Senbon ToriiKyoto, Japan
Lion Rock Beach
Lion Rock BeachPiha, Auckland, New Zealand
Christmas at Union Station
Christmas at Union StationChicago, Illinois, USA
Emerald Lakes
Emerald LakesTongariro National Park, New Zealand
Teotihuacan Hot Air Balloons #2
Teotihuacan Hot Air Balloons #2Teotihuacan, Mexico
Museo Soumaya Exterior
Museo Soumaya ExteriorMexico City, Mexico
Honolulu Sunset
Honolulu SunsetHonolulu, Hawaii, USA
Baker Beach
Baker BeachBaker Beach, San Francisco, CA, USA
Get in touchhello@jonreynolds.net