Explore the wonderful world of advanced Swift.

Expert guidance, battle-tested open source tools, advanced AI skills, exclusive videos, and a community of likeminded engineers.

Trusted by teams

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.


Become a member 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
Video 363 • Apr 20, 2026

We explore the concept of “reentrancy” in actors, and how innocently adding async-await to an actor method can open you up to a world of race conditions. This problem also shows up when we naively communicate between actors, but we can solve things in a non-naive way and make actor communication completely synchronous.

Members only 25 min
Video 362 • Apr 13, 2026

Using an actor seems to have forced us from a synchronous context to an asynchronous one, but it doesn’t have to be this way. We will show how with the proper tools we can squash many awaits down to a single one, and we will use “serial executors” to better understand how an actor enqueues work behind the scenes.

Members only 30 min
Video 361 • Apr 6, 2026

After fighting with legacy locking and mutexes let’s explore a modern alternative: actors. We will refactor our data race-sensitive class to an actor and see just how simple and flexible its implementation can be, and we will grapple with something it introduces that locking did not: suspension points.

Members only 21 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 video 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 videos 9 hr 3 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 videos 5 hr 28 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 videos 58 hr 30 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

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!

Rajiv Jhoomuck
@rajivjhoomuck

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

Ferran Pujol Camins
@ferranpujolca

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

Felipe Espinoza
@fespinozacast

Watching the key path @pointfreeco episodes, and I am like 🤯🤯🤯. Super cool

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

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!

Nico Passo
@nicopasso

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

Frank Courville
@Frankacy

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

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.

Get started with our free plan

Our free plan includes 1 members 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