top of page
< Back

When MediaProjection Isn't Enough - Building a Custom In-App Session Recorder

Status: Accepted

Debugging user issues gets so much easier when you can see exactly what they experienced. While off-the-shelf solutions exist to integrate screen recording into our apps, they didn’t give us the quality, flexibility, or control we needed. So, our team built our own native, in-app session recording tool for Android.

In this talk, we’ll share why we decided to go in-house, how we tackled the technical and UX hurdles along the way, and what we learned about recording high-quality video and audio data.

We’ll dive into tricky bits like exploring - and discarding - the MediaProjection API, handling codecs and muxers across devices, designing recording controls that stay out of the user’s way, playing back recordings, and managing background uploads without draining your users’ battery or patience.

Whether you’re exploring advanced media capture, better bug reporting, or just want a peek behind a surprisingly complex Android feature, you’ll come away with practical insights to help you build your own solutions with more confidence.

Join us for a real-world look at building complex media pipelines on Android!

By the end of the talk, you’ll have a better grasp on:

- How robust in-app screen recording can improve QA and support
- UX ideas for recording controls that stay out of your users’ way
- Tips for working with the MediaProjection API, manual screen and audio recording, encoding, and muxing
- How to handle tricky edge cases caused by device and OS fragmentation in terms of screen recording
- Ideas for future features that in-app screen recording can unlock

Speakers

István Juhos

Staff Android Engineer @ Circuit

Francisco Franco

Testing in production @ Circuit

bottom of page