In the field of computer vision and machine learning, traditionally it's not usual to worry about code quality. Most of the times implementation of the vast majority of algorithms doesn't require the construction of the abstraction high hierarchy. With the development of the Lensa project, Andrey and his team had to revise and come up with several approaches that coordinate the work of numerous technologies within the application so that it's easily maintained, decomposed and most importantly doesn't create the compromise in performance issues.
During this talk, Andrey will tell how UIKit, Metal, Accelerate, CoreML, Vision, ARKit, ARM NEON and code on 5 languages including assembler work in one application. You will hear how developers made it all work, how it was weighted up with product tasks like databases or in-app purchases, and you will learn about testing features, A/B tests conduction and much more.