Using the Airbyte API to make an iOS App
I’m a director of engineering at Airbyte. Every once in a while, we have Hack Days at Airbyte where we can build anything on a 2-day period before we present it to the whole team.
During the latest Hack Days, my first thought was using our new Public API to create an iOS application to check in on your Airbyte workspaces. It turned out pretty well.
This uses the Airbyte API, which provides REST services for core Airbyte concepts like Workspaces, Sources, Destinations, Connections, and Jobs. After getting an API key, I was able to get the current status of my Airbyte world, kick off new Jobs, and check their status.
It also uses React Native and Expo, allowing me to write React Typescript code that renders as native components on their respective platforms. For example, the Switcher component is different between iOS and Android.
I did a lot of work with React Native in its very earliest days, but hadn’t checked in on it in a while. That is why I wanted to check in during the Hack Day. It’s amazing how far it’s come, especially when paired with Expo. I developed the app only in iOS and it “just worked” in both Android and on the web. Amazing.
The only thing I couldn’t fully figure out was around CORS on the web. This is a security feature that prevents one site from secretly communicating with another. I got around it in the demo by launching a version of Chrome with the feature disabled:
The code is available here if you want to take a look.