Explore the wonderful world of advanced Swift.

Point-Free is a video series exploring advanced topics in the Swift programming language, hosted by industry experts, Brandon and Stephen.

Trusted by teams

Free episodes

See all →
Episode 348 • Dec 15, 2025

We add another feature to our SQLiteData-based app to show how the tools interact with observable models and SwiftUI view lifecycles. We’ll show how the library gives you ultimate control over the precision and performance of how data is fetched and loaded in your app.

Free 42 min
Episode 347 • Dec 8, 2025

We give a tour of our SQLiteData library, a fast and lightweight alternative to SwiftData. We’ll set up a fresh project with the package, define models and configure the database, and even write SQL migrations with the help of Xcode’s Coding Assistant.

Free 28 min
Episode 330 • Jul 7, 2025

We continue our series on “modern persistence” with an important topic: “callbacks.” Callbacks are little hooks into the lifecycle of your data model so that you can be notified or take action when something changes. We will first explore the “Active Record” pattern of callbacks, popularized by Ruby on Rails, and then see how we can improve upon them.

Free 39 min

All episodes

See all →
Episode 348 • Dec 15, 2025

We add another feature to our SQLiteData-based app to show how the tools interact with observable models and SwiftUI view lifecycles. We’ll show how the library gives you ultimate control over the precision and performance of how data is fetched and loaded in your app.

Free 42 min
Episode 347 • Dec 8, 2025

We give a tour of our SQLiteData library, a fast and lightweight alternative to SwiftData. We’ll set up a fresh project with the package, define models and configure the database, and even write SQL migrations with the help of Xcode’s Coding Assistant.

Free 28 min
Episode 346 • Nov 17, 2025

We round out are synchronization series with a grab bag finale. We’ll explore explicit synchronization, custom logout behavior, how the library handles read-only permissions, and how you can incorporate theses permissions in your app’s behavior.

Subscriber-only 37 min

What to expect

New content regularly

We dissect some of the most important and interesting topics in Swift programming frequently, and deliver them straight to your inbox.

Wide variety of topics

We cover both abstract ideas and practical concepts you can start using in your code base immediately.

Playground downloads

Download a fully-functioning Swift playground from the episode so you can experiment with the concepts discussed.

Video transcripts

We transcribe each video by hand so you can search and reference easily. Click on a timestamp to jump directly to that point in the video.

Collections

See all →

Modern Persistence

Collection

What are the best, modern practices for persisting your application’s state? We explore the topic by rebuilding Apple’s Reminders app from scratch using SQLite, the most widely deployed database in all software. We will dive into many of SQL’s most powerful features, such as foreign keys, triggers, common table expressions, and more.

23 episodes 15 hr 50 min

Concurrency

Collection

Swift has many tools for concurrency, including threads, operation queues, dispatch queues, Combine and now first class tools built directly into the language. We start from the beginning to understand what the past tools excelled at and where they faultered in order to see why the new tools are so incredible.

12 episodes 9 hr 3 min

SwiftUI

Collection

SwiftUI is Apple’s declarative successor to UIKit and AppKit, and provides a wonderful set of tools for building applications quickly and effectively. It also provides a wonderful opportunity to explore problems around architecture and composition.

37 episodes 23 hr 50 min

A better way to create SwiftUI bindings

If you have ever created a binding using the get:set: initializer, you may want to reconsider. Doing so can hurt SwiftUI’s ability to animate your view. Luckily there is a better way. You can leverage @dynamicMemberLookup and subscripts to derive new bindings in a way that allows SwiftUI to propertly track where the binding came from.

Watch 7 min

Why you can't use enums in SwiftData

SwiftData is not capable of filtering and sorting by raw representable enum properties in models. Predicates and sort descriptors will compile just fine when referencing enum properties, but it will crash at runtime.

Watch 1 min

Why you can't use booleans in SwiftData

SwiftData is not capable of sorting by boolean properties in models. And if you try to trick SwiftData to allow it, you will encounter runtime crashes.

Watch 9 min

What people are saying

Frank Courville
@Frankacy

My new favourite morning routine is feeding 👶🏻 while watching @pointfreeco

Ferran Pujol Camins
@ferranpujolca

Through videos you constantly introduce ideas and patterns only to later reformulate them into more general ideas. This is awesome and helped me understand a lot of programming concepts. Well done!

Maxim Smirnov
@Atimca

The best thing, that happened to me for a while. @mbrandonw and @stephencelis really provide a lot of new information according to #ios development and #functionalprogramming. All info could be used in real production without boring academics.

Luca Ceppelli
@lucaceppelli

I bought the annual subscription and after I watched all videos and played with the sample code and libraries I can say it was the best money I spent in the last 12 months.

Mike Abidakun
@mabidakun

Every episode has been amazing on Pointfree, yet somehow, you've managed to make these Parser combinator episodes even better!!! ⭐️⭐️⭐️⭐️⭐️

Mr. Hartwell
@sergeyfitis

Honestly, I'm an Android developer, I write applications in Kotlin. My colleague iOS developer told me about your course. And I liked it so I decided to buy a subscription.

Rajiv Jhoomuck
@rajivjhoomuck

@pointfreeco ❤️: Thank you! 🧠: … The brain can’t say anything. It is blown away (🤯)!

Meghan Kane
@meghafon

Really love this episode - thanks @mbrandonw + @stephencelis! Understanding Swift types in terms of algebraic data types is such an elegant way of seeing the # of possible values your Swift types will represent 🤯 #Simplifyallthethings #GoodbyeComplexity

Ferran Pujol Camins
@ferranpujolca

Their content pushes the boundary of my knowledge, and it's fun to watch!

Get started with our free plan

Our free plan includes 1 subscriber-only episode of your choice, access to 75 free episodes with transcripts and code samples, and weekly updates from our newsletter.

View plans and pricing