Hi, I'm Filipi Rafael.

React Native specialist
Mobile software engineer with over 6 years of experience, passionate about solving real problems and creating amazing products. I build iOS and Android apps and obsess over performance and the details.
- 6+
- years of React Native in production
- 1M+
- users across two social networks I helped build
- 2
- app stores, every release shipped end to end
- 3
- countries I've worked with teams in: Brazil, US, Australia
- Based in
- São Paulo, Brazil
- Day job
- Senior software engineer at Umatch
- Studying
- Software Engineering postgraduate
- Languages
- Portuguese, fluent English, basic Spanish
For six years I've built apps in React Native and Expo, end to end, writing native code when the product calls for it. Two of them were social networks that together passed a million users: that's where I learned what scale and retention really demand.
I think about product, UI/UX and code at the same time. I spent two weeks in New York taking a prototype to the streets and interviewing real users, and that's what taught me to think like a product engineer. I'm fluent in English and have worked with teams in the United States and Australia.
Outside the day job, I build my own iOS and Android apps, from design to the store. It's where I test new ideas and sweat the details people feel but can't name.
My own apps.
From design to launch, built by me for iOS and Android.
Notes on mobile development.
Six things I never compromise on.
Performance is a feature.
Smooth scrolling, fast launches, no stutter even on an old Android. People never mention it, but they feel it, and they stay.
The details are the product.
Animation with weight, haptics on the moments that matter, empty states that actually help. The finish is what people remember.
Solve the real problem.
I start from the person and the pain, not the feature list. If I can't state the problem in one sentence, I'm not ready to write code.
Own it end to end.
Architecture, tests, CI/CD, the release in both stores and the metrics after it. Shipping is the start, not the finish.
Ship, measure, improve.
Small releases, real data, honest analysis. What doesn't move the numbers gets cut, and I say so.
Simple beats clever.
Typed, well-named code the next person can change on a Friday. Clever is a bill someone else pays later.
One stack, known deeply.
React Native and Expo for the app, Swift and Kotlin when a screen needs to go native, Supabase and PostgreSQL on the backend, RevenueCat for subscriptions and PostHog for product data. Chosen on purpose and known in depth, so the time goes into the product.
Hear about the next one first.
I ship a new app every few weeks. Leave your email and you get one message on launch day, in your language, with the store link. Nothing else.
Away from the code.
People, books and study. Everything else comes from there.

Two weeks on the street with Brie.
As Founding Engineer, I tested the prototype with NYU students in coffee shops and Washington Square Park. The same loop every day: interview, listen, iterate.

I read a lot. Mostly philosophy.
I keep coming back to the Stoics, and to Marcus Aurelius most of all. Few things age this well.

I study React Native like it's my first year.
In the photo, Callstack's performance guide, on the chapter about animations that never drop a frame.
Say hi.
Roles, projects, feedback, or just to talk shop about React Native. I read everything.