The Bending Spoons iOS team — Peeking behind the curtain

Bending Spoons
Bending Spoons
Published in
8 min readNov 5, 2021

I joined Bending Spoons seven years ago, impressed by the founders’ vision for the company. Good decision! I get to work on challenging projects with fantastic teammates every single day. That’s pretty much the dream, as far as I’m concerned.

By Mauro Bolis, iOS Software Engineering Lead at Bending Spoons

I’m Mauro Bolis, the iOS team lead at Bending Spoons

I’m often asked to describe what it’s like to work on the iOS team at Bending Spoons. Apparently, my go-to answer (“It’s awesome!”) isn’t particularly thorough.

So, let’s get thorough!

In this article, I discuss our technologies, our culture, our challenges, plus a few other bits and pieces that I find interesting and hopefully you will too. I’m always happy to chat — just reach out via LinkedIn if you’ve got any questions.

Pre-COVID days — I miss the office!!!

A bit of background

I joined Bending Spoons seven years ago, impressed by the founders’ vision for the company. Good decision! I get to work on challenging projects with fantastic teammates every single day. That’s pretty much the dream, as far as I’m concerned.

But it’s not all sweetness and unicorns at Bending Spoons — not by any stretch. The iOS team grapples with massive challenges on a daily basis. Fortunately, I absolutely love a good challenge!

The challenges we face on the Bending Spoons iOS team

Our apps are popular. That’s a good thing. But, with several hundred thousand people using an iOS Bending Spoons app every day, the stakes are high. Our team faces the daunting task of making sure they work properly in any situation, including different locations, devices, network connectivity, and much more.

Every one of our apps has its own complex logic, and when you add in the beautiful-but-demanding UI and animation, it’s certainly no picnic. Our constant drive to improve things isn’t limited to our apps — we take this approach to our technologies, best practices, and how we organize our work.

And what kind of a tech company would we be if we didn’t keep up-to-date with the latest technologies? We started experimenting with TCA in our apps and modularizing using Tuist. We dedicate a lot of time to developing technologies that boost our products, productivity, and performance. Our philosophy is that the boring and repetitive tasks should be done by machines, freeing up people to work on the fun stuff.

Our current projects and challenges

Splice

Splice is one of the world’s most beloved mobile video editors. It takes a lot of effort and inspiration to reach the top rankings on the App Store. It takes even more to stay there, year after year.

Crafting a professional-grade video editor on mobile is one of the toughest challenges in the app space. It’s no small task to deploy that machine learning model, knowing you have just 16 milliseconds to process the entire video frame.

Splice pushes iOS frameworks like AVFoundation, Metal, and CoreML to their limits. Where system frameworks fall short, we simply build on top of them.

And all the under-the-hood complexity has to remain hidden from view. Usability is everything — which means delivering all that power in a package that’s simple and fun to use.

30 Day Fitness

Like Splice, 30 Day Fitness has been an App Store category leader for years (this time in Health & Fitness). In January 2020, 30 Day Fitness was the world’s most downloaded fitness app on iOS.

But, once again, the fact that it isn’t a standard catalog app means we have a complex device-side logic to contend with.

30 Day Fitness is super customizable. Users can adjust every aspect of their in-app experience and receive a tailored fitness plan immediately. There are thousands of exercises, workouts, and fitness challenges. The live view contains incredibly complex interactions, animations, and audio feedback. So, the options for the user are pretty much endless — which has resulted in a few headaches for us.

Fonts

Fonts is the iOS custom keyboard for anyone who loves to express themselves using emojis or other fun characters.

Most of the app’s fonts were created using Unicode characters. The final result is great, and our users absolutely love it, but Unicode isn’t without its own problems. Our engineers work hard to make everything stable and compatible across the internet.

Everyone’s phone keyboard is central to their daily digital lives, which means Fonts needs to be both a joy to use and super intuitive. With this in mind, we built our own auto correction and suggestion system leveraging machine learning techniques.

Did I mention that the whole keyboard should use a staggeringly low amount of memory? Put simply: It takes a whole lot of work to make something seem so simple! But such challenges are part of daily life at Bending Spoons.

Remini

Remini is the go-to app for anyone wanting to revitalize old memories. It offers a solution for all manner of user needs, including restoring grainy video, de-scratching and colorizing old, blurry photos, animating faces, and plenty more. It does so while sharing the user’s media between all their devices via login.

All of Remini’s phenomenal features are powered by our cutting-edge AI technology. It’s a massive challenge to stay ahead of the competition in a field where multiple articles are published every week — each one seeming to tell the story of another, better strategy for training machine learning models. But it’s a challenge that we’re excited and delighted to take on!

Internal libraries and tooling

Our team is constantly innovating and experimenting with newer, faster, better approaches to iOS development, automating as much of our development process as possible and letting our wonderful engineers do what the machines can’t.

It’s a never-ending journey. Our work encompasses a bunch of different areas, such as Swift libraries, CLI tooling, CI integrations, and many more, but it’s always worth it. Ultimately, our apps need to have the strongest of foundations.

From time to time, we open source some of our technologies. For example, we released Katana and Tempura as open source libraries, and we know teams have adopted them for their apps as well. We even open sourced a UI library similar to SwiftUI a couple of years before SwiftUI was announced. Eventually, we outgrew it and stopped using it internally, but it was another fun, rewarding project.

We also contribute back to the community. For instance, we recently implemented a system to handle third party dependencies in a tool we use a lot: Tuist. One of our engineers is now a core contributor to the tool, and we’re really proud of him!

Technologies

We use and teach Swift, Alamofire, BonMot, PinLayout, Katana, Tempura, the Composable Architecture, SwiftUI, and Combine or ReactiveSwift (depending on the iOS version we need to support). On the tooling side, we use Tuist and SPM.

The iOS team’s responsibilities

iOS development has been the bread and butter of Bending Spoons since the very beginning. We’ve designed, developed, and shipped dozens of apps across several verticals. We want to be known as the absolute best in crafting amazing experiences for our users, creating world-class technologies in the process.

Our iOS team participates in every element of product development, working with non-engineering disciplines like Product and Design, as well as adjacent Engineering teams.

Like every Spooner, we expect our iOS team members to be seekers, constantly learning and sharing their knowledge. We’ve got well-defined best practices in place that help us constantly improve what we do and how we do it.

Code reviews are crucial ways to learn from one another and improve our code quality. Engineers give each other honest feedback, and this helps code authors and reviewers level up constantly. We hold one another accountable for being pragmatic, while also using best practices and delivering testable, top-notch code.

New iOS team members can take part in the design and development of libraries and tooling from day one. It could be a simple bug fix, a new feature, or a whole new technology. Growing the Bending Spoons iOS ecosystem is everyone’s responsibility.

Fitting into the iOS team at Bending Spoons

The iOS team already has a track record that we’re super proud of. However, several years into this journey, it truly feels like we’ve just scratched the surface of what’s in store for us. Sure, we’re not the first team or company to say something like that, but what we dream up, attempt, and ship every day really makes us excited for the future. We’re currently in the process of completely changing how we architect applications, taking care of the groundwork for the next however-many years of development. Every day there’s a new idea, a fresh way to exploit this brand new architecture, or a better method of managing something we already do.

Everything is 100% transparent. From the word go, you have a voice in technical decisions as well as in design and strategic discussions.

This isn’t a place where you take care of your part, ship it, then forget it ever existed. You have complete visibility over every aspect of an app, from conceptualization to execution to performance.

Most of all, you’ll grow at the speed of light. We’re not big on ninjas, rock stars, or gurus. We look for people to contribute to a supportive team of humble, curious minds. So if that’s you, you’ll fit right in!

Why an exceptional tech lead would want to work at Bending Spoons

You get to lead a team of talented engineers, while guiding their growth and supporting them through every challenge.

You’ll make a major contribution to technical decisions. Nothing is set in stone. If you have a good idea, no one will stop you from trying it. Actually, you’ll be met with support and encouragement!

Bending Spoons is a geek’s paradise. We encourage everyone to study, test, and evaluate every new technology under the sun to improve your team’s happiness and performance.

As the reference for Product, Design, and other teams, you get to collaborate with inspiring people — helping you develop skills way beyond the realm of engineering.

As a leader, you’ll peacefully resolve technical disagreements and foster togetherness — helping your team members learn while doing so.

Leading is also about staying up to date and learning every day. We deny no reasonable request and spare no expense to help you become more than you ever thought you could be.

Wrapping up

Alright, it’s time to wrap this up and return the curtain to its rightful place. I’ll leave you with one final thought: Seven years into this journey, I wake up every day knowing that I’m about to learn something new. That’s why being on the Bending Spoons iOS Engineering team is an even more rewarding professional experience than I ever thought possible.

--

--