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
See all →

The Point‑Free Way

Expert-crafted AI skill documents for building long-lasting Swift applications.

Design, test, and evolve applications using the same principles, libraries, and techniques we use every day at Point‑Free.


Subscribe to unlockLearn more
Terminal
$brew install pointfreeco/tap/pfw$pfw login$pfw install$ls -R ~/.codex/skills/./ComposableArchitecture/ SKILL.md./SQLiteData/ SKILL.md./Dependencies/ SKILL.md./SwiftNavigation/ SKILL.md

All episodes

See all →
Episode 354 • Feb 9, 2026

We celebrate 8 years of Point-Free with a live stream! We take our brand new “Point-Free Way” skill documents for a spin by building a Flashcards app powered by SQLiteData, and we give a sneak peek at “Composable Architecture 2.0,” a reimagining of our popular library.

Subscriber-only 1 hr 51 min
Episode 353 • Feb 2, 2026

We clean up our test suite and make use of the expectDifference helper, for precisely describing changes to state in an exhaustive fashion. We will then rapidly add test coverage using the forthcoming “Point-Free Way” skills documents. Finally, we will achieve the seemingly impossible by writing a test against iCloud sharing!

Subscriber-only 20 min
Episode 352 • Jan 26, 2026

SQLiteData is incredibly test-friendly. We will show how to configure a test suite for your data layer, how to seed the database for testing, how to assert against this data as it changes, how to employ expectNoDifference for better debugging over Swift Testing’s #expect macro, and how to control the uuid() function used by SQLite.

Subscriber-only 30 min
See all →

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

Macros

Collection

Swift 5.9 brings a powerful new feature to the language: macros. They allow you to implement new functionality into the language as if it was built directly in the language itself. However, they can be tricky to get right, and as such one needs to write an extensive test suite to make sure you have covered all of the subtle and nuanced edge cases that are possible.

4 episodes 3 hr 24 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
See all →

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
See all →

What people are saying

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

Nico Passo
@nicopasso

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

Prakash Rajendran
@dearprakash

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

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 😅

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.

Oscar Alvarez
@iOjCaR

So many concepts presented at #WWDC19 reminded me of @pointfreeco video series. 👏👏 So happy I watched it before coming to San Jose.

Arjun Nayini
@anayini

We have this thing called WWTV at #PlanGrid where we mostly just listen to @mbrandonw and @stephencelis talk about functions.

Christina Lee
@RunChristinaRun

I listened to the first two episodes of @pointfreeco this weekend and it was the best presentation of FP fundamentals I've seen. Very thoughtful layout and progression of the material and motivations behind each introduced concept. Looking forward to watching the rest!

Frank Courville
@Frankacy

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

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