Disclaimer: This was written within the first week of SwiftUI being released. Some of this content might be outdated at the time of reading.

📦 Source code for this project is linked at the bottom of the article.

With SwiftUI being just released, everyone has been really excited and focused on (re)building their nice UI using it. However, not many have dug deep into building and handling the lifecycle of “real world” app — which primarily consists of fetching data and displaying it in a list.

This article will dive into the basics of maintaining state throughout the “real world”…


Stale data sucks. With the help of Firebase’s data subscription model, all the data shown in your app can be up to date and consistent across. This article will go over how we built a realtime contacts app using Firebase and FunctionalTableData (FTD) — a functional approach to maintaining view states.

Realtime Functional Table Data is a basic Contacts app built with Shopify’s Functional Table Data and Firebase. The idea is simple; each screen subscribes to a model in Firebase and is notified with realtime snapshots every time it’s updated. …


After spending the summer working at Shopify as an intern on the iOS team, I thought I’d share the hiring process, technical challenges, as well as what I learned during my time there. Overall, this summer has been an incredible experience where I got to meet amazing people, work on really cool projects and grow tremendously as an individual.

The hiring process

Background and disclaimer; I had roughly a year of professional iOS experience before applying for the internship. The current process will likely have changed from the one I describe. …


<- Standard iOS 11 nav bar| Custom nav bar->

Standard iOS components can get boring… Luckily, with Swift, customization is available everywhere! This article will demonstrate how to use a custom image for your navigation bar, while still maintaining all the functionality provided in a Navigation Controller. 🚀

TL;DR: Clear the default nav bar image provided by Navigation Controllers using a bit of code and position your image in it’s place by constraining it to the view’s top, leading, and trailing anchors (be sure to not constrain to the safe area).

1. Creating the custom header image

Chances are the custom navigation bar header you have in mind for you app will need to be…


image source: https://codyhouse.co/gem/custom-google-map/

⚠️ This article is now over a year old and such some code might be outdated.

If you plan on implementing a map view in your iOS app, chances are you’re leaning towards using Google Maps, as opposed to Apple Maps — and I don’t blame you. Mapping apps have two common uses: providing directions, and indicating specific locations throughout the map. If your app will include the latter, map markers are the go-to tool to facilitate it. Info Windows are the views presented when a user taps on a marker — and because this is Swift, there’s a lot…

Mat Schmid

iOS Developer @shopify, Prev Comp Sci @ Carleton University

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store