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 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
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

All episodes

See all →
Episode 343 • Oct 27, 2025

We add iCloud sharing and collaboration to our reminders app rewrite, so that multiple users can edit the same reminders list. It takes surprisingly little code, no changes to our feature’s logic, and handles all manner of conflict resolution and more.

Subscriber-only 35 min
Episode 342 • Oct 20, 2025

We introduce a new feature to our reminders app: cover images for each reminders list. This pushes us to create a brand new database table to synchronize, and allows us to demonstrate how SQLiteData seamlessly handles binary blobs by converting them to CloudKit assets under the hood.

Subscriber-only 41 min
Episode 341 • Oct 13, 2025

With our database migrated, it’s time to take the SyncEngine for a spin to see how it seamlessly synchronizes data to and from iCloud, how it resolves conflicts when records are edited and deleted from multiple devices, and even how records are synchronized from different versions of the application and database schema.

Subscriber-only 42 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 →

SQLite

Collection

SQLite is one of the most well-crafted, battle-tested, widely-deployed pieces of software in history, and it’s a great fit for apps with more complex persistence needs than user defaults or a JSON file. This collection serves as an introduction to the basics of SQLite, as well as an exploration into more advanced topics and techniques for integrating SQLite into your applications.

17 episodes 11 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.

19 episodes 12 hr 58 min

Composable Architecture

Collection

Architecture is a tough problem and there’s no shortage of articles, videos and open source projects attempting to solve the problem once and for all. In this collection we systematically develop an architecture from first principles, with an eye on building something that is composable, modular, testable, and more.

92 episodes 58 hr 30 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

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

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.

David Piper
@HeyDaveTheDev

Just finished the mini-series on enum properties by @pointfreeco! They pointed out what’s missing from enums in Swift and used SwiftSyntax to generate code to add the missing parts. Thanks for your work @stephencelis and @mbrandonw! #pointfree

Boris Bielik
@h3sperian

This is surely one of the best shows for Swift folks out there! The content and explanation is at a really high bar!

Dad
@GeekAndDad

Three recent @pointfreeco episodes were so interesting I stayed in the treadmill 3x as long as usual and watched them all in a row! Walking may be challenging later/tomorrow... 😮

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!!! ⭐️⭐️⭐️⭐️⭐️

Nico Passo
@nicopasso

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

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 73 free episodes with transcripts and code samples, and weekly updates from our newsletter.

View plans and pricing