Why this blog exists
Hi, I'm Matthys — a React Native developer from Lille, France. These days I work full-time on Ekklo, a coaching platform that helps fitness coaches manage their clients, programs and payments. The mobile apps are built with Expo, and they're used daily by thousands of coaches and athletes.
This blog is the missing piece of that work: a place to document what building a real production app with Expo actually looks like.
Why write?
To remember the decisions. Every week brings choices — upgrade the SDK now or wait, adopt this library or write it ourselves, ship OTA or go through the stores. Six months later, the why is gone. Writing it down keeps it.
To give back. I learned React Native through other people's blog posts, conference talks and podcasts. Meeting that community — at App.js Conf, at meetups in Lille, New York or San Francisco — is what keeps me in this ecosystem. Time to contribute back.
To stay sharp. I like being on the latest Expo SDK, trying the New Architecture changes early, testing what just shipped. Writing about it forces me to actually understand it, not just use it.
What to expect
- Real-world Expo — SDK upgrades on a production app, EAS Build and Updates, native modules when Expo isn't enough.
- React Native in production — performance, lists, animations, the bugs that only show up with real users.
- Building Ekklo — the product side: shipping fast as a small team, choosing boring tech, what works and what doesn't.
The stack, today
Ekklo's apps run on Expo with TypeScript, built and shipped with EAS. That's the short version — the detailed setup (and how it evolves) is exactly the kind of post this blog is for.
If you build with Expo or React Native, grab the RSS feed — every post here comes from real production work, not tutorials.
No promises on cadence. But everything published here will have shipped first.