Back to all episodes

RNR 332 - Codemagic 🤝 React Native with Martin Remmelgas

May 16, 2025
35:04
E
332
Martin Remmelgas, Mazen Chami, Robin Heinze

Codemagic CEO Martin Remmelgas joins Robin and Mazen to talk mobile CI/CD in 2025: Why build tooling still has rough edges, how Codemagic handles versioning and code signing, and where the developer experience still needs work.

Show Notes

  1. React Native CI/CD with Codemagic
  2. Codemagic


Connect With Us!


This episode is brought to you by Infinite Red!

Infinite Red is an expert React Native consultancy located in the USA. With nearly a decade of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter, core React Native contributors, creators of Ignite and Reactotron, and much, much more), Infinite Red is the best choice for helping you build and deploy your next React Native app.

Todd Werth:

Welcome back to React Native Radio podcast, rock to you by Vim. Once you start using Vim, you'll find it next to impossible to quit. Episode 3 32, Codemagic.

 

Robin Heinze:

Hello and welcome back to the React Native Radio podcast. I'm Robin. This is Mazen. We don't have Jamon this week, sadly, but that's okay. I'm pretty sure he's having more fun somewhere else. We also have a wonderful guest with us, Martin Regas. He's going to talk to us about Codemagic. Martin, can you tell us about yourself?

 

Martin Remmelgas:

Hi Robin. My name's Martin. I'm CEO at Codemagic.

 

Robin Heinze:

And where are you joining us from?

 

Martin Remmelgas:

I'm in Estonia. It's a small country near Finland.

 

Robin Heinze:

Before we started the show, you were saying that there's a really, there's a famous quote from Hemingway about Estonian.

 

Martin Remmelgas:

Yes. You said that you haven't met an Estonian before and Maren said that we have a nomad culture. Hemingway actually used to write that there is an Estonian in every port in the world, so there's one of us somewhere.

 

Robin Heinze:

You guys are all over everywhere except Estonia, right? Well, we're so happy you're here and I can't wait to talk about Codemagic, but before we do, I need to mention our sponsor.

 

Jed Bartausky:

Hey friends, it's Jed. Most of you know me as the assistant editor slash announcer guy for React Native Radio, but today I'm coming to you as Director of Operations. That's my day job here at Infinite Red. We're dropping a quick message to all of our listeners to say we're hiring now I get to work with some amazing developers here, but the problem right now is Jamon keeps sending me projects and I'm running out of developers to put on them. I've tried cloning Mazen that didn't work out well. So now we're here. Infinite Red is looking for Senior React native developers in the US and if that's you, take advantage of this rare opportunity and head over to Careers Infinite Red to apply. Thanks for listening and we'll catch you in the next episode.

 

Robin Heinze:

Alright, let's talk about Codemagic and React Native. So first of all, I want you to just tell me a little bit about your background, how you came to be, how you came to be CEO at Codem Magic. How'd you get here?

 

Martin Remmelgas:

I'm actually a chemist that got lost on the way and ended up IT Sphere and I can tell you it's a lot more fun to build things in it than it is in chemistry. You don't get stack traces in the lab. My wife is a chemist by trade. I

 

Mazen Chami:

Get it.

 

Robin Heinze:

Yeah. My husband is a chemical engineer and my mom is a biochemist and my dad was a physicist. So yes, very familiar with the trials of working in a lab.

 

Martin Remmelgas:

Yes, in the final years of my studies and I was working a little bit as an organic chemist in Singapore, I decided to switch careers and double in this IT world. I had this startup idea I tried out, which failed, but the friends I made along the way invited me to join Never Code or Codemagic today and I loved it. So I am still here.

 

Robin Heinze:

It's amazing how often you hear that, how someone caught the bug, so to speak, of coding.

 

Mazen Chami:

It's like that saying that people have, it's the friends that you make along the way, but you not only made friends along the way, you made a company at the same time

 

Martin Remmelgas:

Important. I'm not the founder of the business, so I joined in 2018. Founders left in 2019, so I took over then, but I love this foster child,

 

Robin Heinze:

So it was somewhat inherited.

 

Martin Remmelgas:

Yeah.

 

Robin Heinze:

Awesome. And so Codemagic, you said it was formerly called

 

Mazen Chami:

Never Code,

 

Robin Heinze:

Never Code. How did that name change? Is there a story behind the name change?

 

Martin Remmelgas:

Originally, actually the company was founded in 2015 and back then it was called Greenhouse, but then it got a trademark or a copyright law claim and they had to change the name to Never Code. Codemagic is a new name because never Code was a product name as well. Previously the company had a product called Never Code io and then in 2018 it was a chance for us to have a Renaissance to have do the product all over again and fix some of the issues that we learned along the way. And since then we've been operating with this new brand called Codemagic.

 

Mazen Chami:

So it seems like you've gone through an evolution of names and products. Would you, if we were to say, what's your elevator pitch for Codemagic today? 2025.

 

Martin Remmelgas:

We are a CI/CD that's designed for mobile development teams. We have a really good developer experience that makes some of the most challenging parts of mobile development easier. So code signing, versioning publishing, release notes and all that small things that can become annoyances.

 

Robin Heinze:

Having done all those things manually at one point or another, I can understand why there was a business opportunity here. So obviously our audience is React native developers and just from looking at the documentation you can see that you guys support all sorts of platforms besides React Native but for a React native app. Can you just walk us through how a React native developer would typically use Codem magic from pull request to App store? Where is Codemagic slotting in

 

Martin Remmelgas:

Codemagic is you can think of as a competitor for GitHub actions for example. So it's almost like for, but there are specific things that we do better and in particular those include code signing, versioning publishing, so all the annoying things. How can a React native developer use Codemagic? It's similar to using infrastructure as code. So you'll need to know a little bit about how YAML files work for example.

So a typical React native developer would use Codemagic to set up build triggers. So let's say you're using some Git version control system, so every time you're running a pull request you may want to check that pull request. For example, passes tests so that your reviewers can know that this have some automation checks so they don't have you to ask you to whether the tests are passing. Once those tests are passing and you're ready to merge your code changes, then you can also run automatic builds on push events to a master branch or to development branch and Codemagic. You can also automate releases to your testers or publishing to the stores so they'll get the signed artifact that they can test.

 

Robin Heinze:

And then do you automate the actual store, the production store release too with release notes and

 

Mazen Chami:

Yeah

 

Robin Heinze:

As

 

Mazen Chami:

Well. I want to just ask a quick follow up question. You mentioned earlier that Codem Magic will help you handle versioning. How so?

 

Martin Remmelgas:

I have probably seen all kinds of versioning as many teams as there are is their opinion on how you should version your application?

 

Robin Heinze:

SemVer is just a suggestion.

 

Mazen Chami:

Yeah, you're talking to React native developers who work in React native and we get the question daily multiple times of when is React

 

Robin Heinze:

Native going, when is 1.0? It's

 

Mazen Chami:

Not

 

Robin Heinze:

Never

 

Mazen Chami:

Versioning is a complicated topic, but yes, it sounds like you support all aspects of

 

Martin Remmelgas:

It. Yeah, when I talk about versioning, I try to leave out this part where you think like version names. So whether you have version 1.0, but when I say versioning, I mean not getting blocked when you're pushing something to the store. So in addition to the version name, you'll need to have a version number or a version code which always has to be greater than the previous one. And in there a lot of teams want, for example, their versions in play store and app store to be in sync for example, or they want their version to increment by one, not by five or 10 or some random number every time they push a new version. So in Codemagic we've built our open source tools and we try to support the community that helps you to interact with, for example, some play store APIs or app store APIs and you can use that to version your app so you can for example, check what's the latest version that's available in production and then incremented by one or you can check what's the version number for the latest test like track for example. So this way that's one way to do it. Obviously it's a little bit complicated. It requires you to build some kind of logic to it, so if you want to do it a little bit easier way, we also have some examples on indexing it by build numbers so you can get an environment variable, which is a CI run number, so you can always be sure that the next run will be greater than the previous run and then you can use that as your version number.

 

Robin Heinze:

You're basically outsourcing the management of the version number so that it's, it's basically not managed by the code base itself, it's managed by something external so that it can always be consistent

 

Martin Remmelgas:

And that's really what we mean by these version inconsistencies. You'll be surprised how often you'll get support requests saying why is my app being rejected because I forgot to increment the version by one. So it'll be useful to have something

 

Robin Heinze:

The number of times where I start back when I was using Fast Lane just flash lane by itself, I would be like four o'clock on a Friday afternoon, I'd be like

 

Mazen Chami:

On a Friday Robin,

 

Robin Heinze:

Yes Zen, yes I do it, kick off a new iOS bill and then go leave and then come back and it's like rejected it because the bill number wasn't incremented so many times. Yeah, you said it is basically supposed to be a competitor for GitHub actions and one of the nice things about GitHub actions is they have this plugin community and system where you can just import an action that somebody else wrote that does a specific thing for whatever service you're using or your specific need that somebody else wrote. Is there anything similar to that in Codemagic?

 

Martin Remmelgas:

Yeah, I've checked some of these actions out as well. There's two schools of thought here. Maybe you remember this story of left pad when half the internet broke because they're using a plugin for padding.

 

Robin Heinze:

I do remember that.

 

Martin Remmelgas:

I think there's a time and a place for everything. If you're plugin, the only thing it does is installs the CLI tools and configure it its path and maybe it doesn't deserve its own plugin for it,

 

Robin Heinze:

It's just

 

Martin Remmelgas:

My opinion. We try to instead focus on documentation so that you have an ample selection of different tips, how people are using ci, many different third party providers browser stack, there's different emulator providers, Firebase services, expo services for example. We have a lot of documentation how you can use all of these. We do not believe that these deserve its own special plugin that requires maintenance, give the responsibility to the person who's setting up the pipelines.

 

Robin Heinze:

I definitely understand that and I think I was just talking to someone the other day about how I much prefer when I have the code in my own hands and I'm not waiting for someone else

 

Martin Remmelgas:

To update our name is Codemagic, which can be little bit misleading. There's no magic involved. It just feels like

 

Robin Heinze:

Magic, right? It feels like magic

 

Mazen Chami:

For developers who can find this very daunting or annoying to do every single time. And even though you have it documented every single time you run into a different roadblock. I think naming it Codemagic is you hit the nail on the head. Perfect. In my opinion, one question we had was related the code signing specifically, does Codemagic offer any automated solutions for provisioning your profiles and all that? I mean this is Iowa specific question, right? Because this is where a lot of the pain points are with iOS profiling.

 

Robin Heinze:

Ask anybody, and this is the worst part about native development certificates and profiles,

 

Martin Remmelgas:

Maybe you guys remember how Fastlane used to do it back in the day? We actually built our first version of code signing in a similar way as they did and we went through the exact same pans, I think it was, I dunno, 2017 or something earlier.

 

Robin Heinze:

So you're talking about Fastly because I remember when I used, we were using Match.

 

Martin Remmelgas:

Yeah, so Fast Lane Match again it used the undocumented Apple's APIs, so we had to reverse engineer that.

 

Robin Heinze:

I didn't realize they were, that's cheeky.

 

Martin Remmelgas:

And then Apple at some point introduced a two-factor authentication where at a random time during a 30 day period, you'll have to re-authenticate your token so that you can use the signing file.

 

Mazen Chami:

Exactly. My point still stands every time you do a release, something new comes up, it's like,

 

Martin Remmelgas:

Yep,

 

Mazen Chami:

Here we go again.

 

Martin Remmelgas:

So that's where we came from and where we are now. Luckily, I think it was 19, or actually no, maybe more recently, apple introduced, no, it was 19 and then they released some updates recently. This new app store Connect API and with this new app store Connect API, it made things hell of a lot easier. And how code signing works in Codemagic today? First of all, if you are not using Codemagic and you're using just our CLI tools for example, so that'll allow you to have similar functionalities with Fastlane. So you can fetch existing signing files, you can create new signing files, everything what you would expect. You can provision new devices, you can add new testers, et cetera. That's all fine and good. If you are using Codemagic, then what I really like is let's say you have a team and you're importing an existing application. You don't have to download all of these provisioning profiles and signing files from App Store Connect, but you can use our app store Connect API this wrapper that we built in the GUI to actually fetch these signing files for your project.

 

Robin Heinze:

Oh, okay. Yeah, so you can use the GUI for that. That's cool.

 

Martin Remmelgas:

Yeah, so it's just a click of a button and then it'll fetch it and then when those become outdated, you can renew them as well. That's for existing application. Or similarly, if you have new testers joining your team, you can provision new test devices that will get added to your provisioning profile

 

Robin Heinze:

All through the ui.

 

Martin Remmelgas:

So the tester will receive QR code. If you remember Buddybuild used to have something similar

 

Robin Heinze:

Where

 

Martin Remmelgas:

So that's all available and if you don't want to use that kind of stuff. And what's cool is now that I think it was last year, apple released the provisioning API for enterprise accounts as well. Previously the enterprise store was unique, so it was not available, but it's available there as well. And now some people still prefer to use the old method if they want, they can continue using that. If you upload your or point to some private repository where you're or private storage where you're signing files are hosted, you can do that as well.

 

Robin Heinze:

It always felt very wrong to me to be putting all of my credentials in a GitHub repository.

 

Martin Remmelgas:

Probably not the best idea.

 

Robin Heinze:

I'm like, this feels like an anti-pattern. But yeah, I think some people still use the old school way. Well, I think there's still people that just manage it completely in App Store connect and download the profiles and put them where they need to be. But yeah, that's definitely one of the hardest parts about ci cd with React native apps with native apps period. But yeah, with React native apps is dealing with signing and stuff.

 

Mazen Chami:

I'm hearing a lot of, we give you the easy option where we do the magic for you or we give you the option to configure it and you do the magic yourself if you want to on our platform and that's I think very helpful where you might get some, for us specifically speaking from experience, we'll get some clients that will be like, Hey, I want to be able to run the command with no, no, passing nothing into my prompt. Just like let's just say your CI is Codemagic, so Codemagic built, that's it. They don't want to pass in any flags or anything. Then we get some clients that're like, no, no, no, I want to customize my path, my name the X, YZ, I want to handle my versioning. So to us, to me it sounds like you handle, you give both sides of the coin and that's very helpful because you're able to capture a larger clientele.

 

Martin Remmelgas:

It's good that you actually talk about it. We have to pick our battles. We can't do it for everything. We have to choose where we provide clients, all of this GUI option as well as the scripting option. Realistically, we can't imagine supporting React Native fluter, native ionic Unity, all these different platforms and we only have a team of nine developers who's building this stuff. Imagine building a giant UI to support all of this. It's not possible. So we have to pick our battles very carefully. Where are the areas where we want to be experts in where we want to give clients all the control and where are areas where we have to introduce command line utilities that are applicable everywhere? So we have carefully picked our battles. We want to be great at BIOS code signing, doesn't matter if you're a React native developer, native Bios developer, everybody will have to deal with it.

 

Mazen Chami:

I totally hear you on that. Picking and choosing your battles are great. And did I hear you right when you were explaining that it almost sounds like you have two paths. You have the CI path and a Codemagic path. Is that correct? Are they two separate products or is it one, is it just your gui? The other one is your command line.

 

Martin Remmelgas:

Codemagic uses CLI tools under the hood for a lot of these actions and these CLI tools are open sourced. You can use Codemagic CLI tools with any CI cd provider including your local environment.

 

Robin Heinze:

But then you also have the CI product that's like you have the runners and you're acting as a CI provider using your own tools, but there is kind of two halves to the product. Yeah,

 

Mazen Chami:

Yeah. Okay. So we're coming back to the initial point that I made that you give everyone the ability, you give both all spectrums of capacity. You want to just run the bear command via gui or do you want to customize it yourself and plug and play with something else?

 

Martin Remmelgas:

Yeah, just to be clear, react native developers cannot configure their pipelines with a gui. They'll have to configure it with the infrastructure as code. So using these YAML files that's similar to other CI providers in the market as well.

 

Robin Heinze:

Your documentation also talks about testing. Not every CI provider works really well with testing. I mean just tests are one thing, just like a yarns script, that's fine, but when you get into integration testing where you're having to boot up a simulator, an emulator or talk to a device farm or something, those are really hard problems to solve with ci, how are you guys approaching that? Are you partnered with any particular integration test frameworks? Yeah. What kind options do people have using Codemagic?

 

Martin Remmelgas:

I love that you're asking this question and this I think is a great example of how a mobile specific CI is different to a generic ci. We both offer the same machines, and in reality, you can achieve the same on any CI provider as you can with Codem Magic. We don't do anything special here,

 

Robin Heinze:

Right? You're writing on Mac machines, link machines, exactly

 

Martin Remmelgas:

The same instrumentation tests as you would have ability to run on CODEM Magic. You can run those same tests, actually not even the same test, the same script on any other CI provider differences. We have it documented and you can find it and there are examples for it. And if you get stuck, there's a person you can ask for help. So there's nothing special we do. We just have a lot of questions from customers how they can achieve something like that. And we've documented it very well. And you'll be surprised how far you can get with that,

 

Robin Heinze:

Right? Yeah, I mean at the end of the day, a CI service is just a remote machine,

 

Martin Remmelgas:

Exactly.

 

Robin Heinze:

Has a specific subset of software installed and you're telling it what to do.

 

Martin Remmelgas:

We are just the grease monkeys of the IT world.

 

Robin Heinze:

The difference is going to come in the tooling that you offer and like you said, how well you explain how to do particular things using your service. And

 

Martin Remmelgas:

It's not about the weapon, it's how you use it. So it's like how we documented it, how if you can have the best machine in the world, but if you don't know how to write batch scripts or you don't have good examples to go by, it's useless. Sometimes documentation is worth more than having all these fancy integrations.

 

Robin Heinze:

Absolutely. I want to address, there's a little bit of elephant in the room with our listeners specifically because we talk about EASA lot on this show because a lot of our listeners are expo users. You support a lot of other mobile frameworks like Flutter or Ionic, native iOS, Android. What specifically is the selling point of codem magic compared to a tool like EAS, which is built for React native specifically? Are there advantages to using a more sort of broad-based tool?

 

Martin Remmelgas:

I was reading some customer stories why people are switching to Codemagic because in our docs as well, we describe how to use Codem Magic when you have an expo project. So how to build it with Expo. The biggest reason is because a lot of companies don't just build React native apps, they build other apps as well. So if they have native apps or they have other apps or they have Unity apps for example, or that's one thing, what they value is that they don't have to,

 

Robin Heinze:

It's all in the same service. You don't have to learn it twice basically.

 

Martin Remmelgas:

So one team, so you don't have the silos forming of knowledge. Second reason is that some people in DevOps space prefer to use standard configuration files, for example. So we have standard YAML configurations, which is familiar to anyone that's configured CI pipelines in the past. So this is relatively familiar territory.

 

Robin Heinze:

Yes, it's very bespoke. It's very has its own language.

 

Martin Remmelgas:

And then another thing, I don't know exactly, but another thing I'm hearing from some of our customers is that they're using EIS build and submissions to submit apps to the store. They're not necessarily using it for ci, and sometimes the costs can get out of hand. So one advantage to using Codemagic is we offer fixed costs as well. If you're looking to get unlimited usage for a fixed cost in a year,

 

Robin Heinze:

Yeah, EAS is incredibly flexible and you can use it as a build tool on, we use EAS with a local flag on another, a different ci. So it's not running on EAS servers, it's running on CI servers, but using the EAS build command. So it's a pretty flexible tool. And it sounds like you could probably actually use E-A-S-C-L-I commands with Codemagic.

 

Martin Remmelgas:

Yeah, you can. Absolutely. Yeah, you can run any command line

 

Robin Heinze:

Said it's at the end of the day you're running on, it's a computer in the cloud.

 

Martin Remmelgas:

Yeah. What is really cool, I want to plug this in. We have two new products. One is this code push product. So after Microsoft Sunset their product, we offer this and we also have simulator previews. So that means that once you get your app built, you can preview them in an iOS or Android simulator.

 

Robin Heinze:

Oh, that's really cool.

 

Mazen Chami:

You heard it first here General.

 

Robin Heinze:

You heard it first. Yeah.

 

Mazen Chami:

That's awesome. Yeah, having that code push alternative, that's great. I know a lot of people that are probably not in the expo world or the expo ecosystem and don't want to go that full adoption route, so they're like, Hey, we're going to stick with code push. And I've heard some people say that they're actually going to stand their own code push servers and maintain it themselves to be able to because they open sourced it essentially. So it's great to hear that you all are offering that product at the same time. One thing I heard you say that I think will help a lot from my personal experience is the fixed rate cost. I know a lot of people will look at Expo and all the other projects out there and be like, hold on times I want 10 million users. Oh no, I can't afford this kind of thing. Right? So fixed rate cost is great.

 

Martin Remmelgas:

Equally, having competition in a domain is always good for the user. It'll drive prices down and it'll force competitors to,

 

Robin Heinze:

Right? It forces them to optimize and to really be at their best. And I like having a diverse library of tools to use because every app is different. It's going to have different needs, every company is different, it's going to have different needs, it's nice to have options.

 

Martin Remmelgas:

And who knows, maybe Expo listened to this and maybe they'll start offering fixed prices as well.

 

Robin Heinze:

Did you hear that?

 

Mazen Chami:

There you go. I had a question. Are you all, I think in today's world everyone's kind of asking this question, are you all leveraging AI in any way?

 

Martin Remmelgas:

We tried. It's horrible. Not only does it give you the wrong answer, it leads you down the wrong path. Granted, this was about two years ago when we tried it, I think, but so far I haven't found a good use for ai. I had ideas what I wanted to try and I saw that people were interested in using it, but what I was expecting is if AI can explain error messages to people, so let's say, and

 

Robin Heinze:

You found that it didn't do a good job of that,

 

Martin Remmelgas:

Not only did it not do a good job, it was leading people down the wrong path,

 

Robin Heinze:

Right?

 

Martin Remmelgas:

So it's like imagine someone tells you go look over there and then you come back empty handed and it's like I could have just read the box in the first place. So I haven't seen good uses, but granted, we haven't tested it much recently either. I saw some of our competitors try out something with MCP servers, so trying to talk with in human language with our API services. But honestly, the only customers that I've seen use our API is white label app customers or no code like providers. So they'll sometimes query like build statuses for their end users, or maybe they'll just start new builds or something like this. And yeah, I am yet to discover a good use case for AI personally. Personally, I'm

 

Robin Heinze:

One of those people that is annoyed at seeing AI in everything. Everything. At least see the little stars and you're like, oh, that's really neat. AI did it.

 

Mazen Chami:

We are actually, I think it's the today's world that we're in where if you have the label AI on your website in your product, people are like, Ooh, yes, where do I sign up? Kind of thing. It's a new flashing car. Are you like

 

Martin Remmelgas:

That? Are you like that though,

 

Mazen Chami:

Or do you sign up personally? No. Personally, no. I think kind of like Robert, are you part of the problem? I am not. I'm not either. I'm yet to find these people. It did take me a very long time to adopt using Cursor heavily with the whole AI feature of Cursor and I dunno, yeah, there are people out there that do that. I'm just saying I feel like I can see the sales part of things where something that has an AI label sells well.

 

Martin Remmelgas:

Yeah, it's worth to try, I think. Are you using it in work projects as well or is it primarily for you to try things out?

 

Mazen Chami:

So for me personally, right now, the project that I'm on has a strict AI policy. So we're not using AI on the client project, but I do use it personal projects, infinite red related work. I think

 

Robin Heinze:

If our clients allow it, we utilize things like copilot. We have one client that's allowing the devs to use cursor, so we use it where we can, but it's always tempered with a grain of salt.

 

Martin Remmelgas:

Yeah, I guess our devs are a little bit not wanting to swim yet. Water's still

 

Mazen Chami:

Cold for them, I guess. I think we're getting very close towards the end of the episode, but I wanted to ask you one last question and I think we tend to ask at the ends of the episodes, but what sucks about Codemagic? What would you like to see improve about Codemagic? Good question.

 

Robin Heinze:

We always like to surprise people with this one at the end. It's always fun to hear the answers. It's always interesting to see what you as the person who knows your product the best. You're like, yeah, we know it has a couple thorns and I'm always curious to know what people say.

 

Martin Remmelgas:

I think it's hard to answer it. I'll need to think about it a little bit. I know what we're building, what we're trying to do, but more generally, I think CICD today, it's becoming commoditized, so there isn't much difference to which provider you're going to choose today. So it's becoming increasingly difficult for us to stand out and somehow make the argument that why we are good, this is why we're building this code push feature, or why we're making this simulator previous available. I thought about it, why Codemagic is not the best. We are working on this actively, but I think we can still do a lot better job in making our UI more responsive. So we've already spent the last year dealing with the tech depth and making this more responsive. It usually crashes. It used to crash a lot when you have a lot of teams or when you have a lot of build that you're trying to display to the user and then the front end is perhaps not as responsive as we would like. So yeah, I think that's the one pet peeve I have. I guess I don't,

 

Robin Heinze:

As far as thorns go, that's not too bad. Well, awesome. Yeah, we are unfortunately out of time, but it was really great hearing about Codem Magic and getting to hear your story chemists out there. There's still time to switch careers and be a CEO of

 

Mazen Chami:

A tech

 

Robin Heinze:

Company at a tech company. Well, thanks everyone for listening and we'll see you all next time.

 

Robin Heinze:

Bye bye.

 

Jed Bartausky:

As always, thanks to our editor, Todd Werth, our assistant editor, Jed Bartausky, our marketing and episode release coordinator, Justin Huskey and our guest coordinator, Mazen Chami. Our producers and hosts are JamonHolmgren, Robin Hines and Mazen Chami. Thanks to our sponsor, infinite Red. Check us out at infinite.red/radio. A special thanks to all of you listening today. Make sure to subscribe to React Native Radio on all the major podcasting platforms.

 

 

Photo of Gant Laborde and Mark Rickert hugging at a retreat.Photo of Todd Werth laughing during an online team game. Other members of the team are in the background.Photo of team members Jed Bartausky and Carlin Isaacson at a team dinner.Photo of Darin Wilson sitting at a table listening to a presentation

Ready to get started with us? Chat with our team over zoom

There’s no perfect time to get started. Whether you have a formal proposal or a few napkin sketches, we’re always happy to chat about your project at any stage of the process.

Schedule a call