April 2019

Universal City, California. It’s past 2 AM and the silence is abruptly shattered by my car dashing out of the parking structure. The windshield immediately fogs up as I enter into the night and turn onto Cahuenga Blvd. There isn’t a car in sight. It’s the perfect atmosphere to re-evaluate my life.

I graduated from California State University Long Beach in 2018 with a bachelor of arts in Narrative Film Production, a degree that means nothing to the industry but everything to a first generation college graduate and a son of immigrants. I don’t regret going to film school. In…

A friendly introduction to SnapKit and it’s benefits over adding standard programmatic constraints.

Written while using XCode 12.4 / SnapKit: 5.0.1

Filmstack Project created with SnapKit.

Full project can be found on my Github

I. Overview

Snapkit is, “… a DSL to make Auto Layout easy on both iOS and OS X.”
In other words, it’s a library to abstract auto layout and simplify the workflow for programmatic constraints.

II. Benefits

So why use SnapKit? Well, some of the benefits include:

  • Less Code
  • Easier to read / learn
  • Widely Used

Less Code

Constraining a TableView with standard AutoLayout Constraints
Constraining a TableView with SnapKit


SnapKit is arguably easier to use than…

Xcode version 12.01

Programmatic constraints is a way of laying out and constraining views as opposed to using Storyboards. While more intimidating at first, programmatic constraints can be a faster way to create user interfaces. It just takes some practice.

When creating a new Xcode project, there isn’t a nice preset dropdown option that will configure a boiler plate programmatic project for us.

(You could make your own! Check out: BrianVoong // verebes1)

Here are 5 steps to get your programmatic project set up and leave storyboards behind like a bad ex.


Delete and forget it. You deserve better and want some consistent…

I have been practicing programmatic UI constraints and decided to test my current abilities by building something familiar from scratch.
Two coffees later, I landed on the iOS Discord app.

Full project source code can be found on my github


The messaging screen of Discord can be broken down into three sections.

Leonardo Diaz

mobile software engineer \\\ ☕️💻 📷

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