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 327 • Jun 2, 2025

How does our SQL-based solution for persistence compare with modern SwiftData? We put things to the test by rebuilding our complex @FetchAll query using @Model and the @Query macro!

Free 1 hr 16 min
Episode 315 • Mar 3, 2025

We finish a sneak peek of our upcoming Structured Queries library by showing how queries built with the library can be reused and composed together, and how we can replace all of the raw queries in our application with simpler, safer query builders.

Free 42 min
Episode 314 • Feb 24, 2025

Last week we released SharingGRDB, an alternative to SwiftData powered by SQLite, but there are a few improvements we could make. Let’s take a look at some problems with the current tools before giving a sneak peek at the solution: a powerful new query building library that leverages many advanced Swift features that we will soon build from scratch.

Free 40 min

All episodes

See all →
Episode 329 • Jun 30, 2025

We go live with our viewers to unveil our vision for modern persistence. We show just how easy it is to seamlessly synchronize your app’s data across many devices, including sharing data with other iCloud users, and we answer your questions.

Subscriber-only 1 hr 49 min
Episode 328 • Jun 16, 2025

We conclude our series on “modern persistence” with advanced queries that leverage reusable SQL builders, “safe” SQL strings, and complex aggregations, including JSON arrays and a query that selects many stats in a single query.

Subscriber-only 53 min
Episode 327 • Jun 2, 2025

How does our SQL-based solution for persistence compare with modern SwiftData? We put things to the test by rebuilding our complex @FetchAll query using @Model and the @Query macro!

Free 1 hr 16 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 →

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

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.

6 episodes 5 hr 29 min

UIKit

Collection

SwiftUI may be all the rage these days, but that doesn’t mean you won’t occassionally need to dip your toes into the UIKit waters. Whether it be to access some functionality not yet available in SwiftUI, or for performance reasons (UICollectionView 😍), you will eventually find yourself subclassing UIViewController, and then the question becomes: what is the most modern way to do this?

9 episodes 5 hr 28 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

Nico Passo
@nicopasso

Please stop releasing one amazing video after the other! I'm still at Episode 15! #pointfreemarathon #androiddevhere

Meghan Kane
@meghafon

tfw you are excited for a 4 hour train ride because you'll have time to watch the new @pointfreeco episode 🤓🏔🚂 #MathInTheAlps #typehype

Ilya
@rehsals

After diving into @pointfreeco series reading Real World Haskell doesn’t seem all that intimidating after all. Major takeaway: the lesser is word “monad” is mentioned the better 😅

Rajiv Jhoomuck
@rajivjhoomuck

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

Prakash Rajendran
@dearprakash

Thanks @mbrandonw @stephencelis for the very pedagogical series with @pointfreeco Excited and looking forward to learn from the series

William Savary
@NSHumanBeing

Just became a subscriber! I'm binge watching episodes now! Great content! I'm learning so much from you guys. The repo for the site is the best go-to reference for a well done project and swift-web is something I am definitely going to use in my projects. Thanks for everything!

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.

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!

Get started with our free plan

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

View plans and pricing