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
ImageImageImageImageImageImageImage

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
Image
Video 369 • Jun 15, 2026

We conclude our series by exploring the mode of main actor by default. New Xcode projects come with with setting turned on, so it’s important to know the ins and outs of working with it, and how it is affected by “sendable” protocols.

Members only 14 min
Image
Video 368 • Jun 1, 2026

The sending keyword has special behavior when applied to closure arguments, as well as inout arguments. We will employ our knowledge of “disconnected” and “task-isolated” regions to get an understanding for how they work, why nested closures are problematic, and how a throwback from our second episode can help us grapple with inout sending.

Members only 22 min
Image
Video 367 • May 25, 2026

The sending parameter is a powerful concurrency tool new to Swift 6 that allows you to precisely specify how non-sendable values can cross isolation boundaries. We will explore how it works in terms of “region-based isolation,” and how we can send values into and out of functions as “disconnected” objects that are free to travel across isolation boundaries.

Members only 24 min
See all →

What to expect

Image

New content regularly

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

Image

Wide variety of topics

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

Image

Playground downloads

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

Image

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 →

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 videos 23 hr 50 min

Back to basics

Collection

The Swift language has grown over the years and become more and more powerful. It now boosts a comprehensive static type system (generics, existentials…), a suite of concurrency tools (actors, dynamic isolation…), and most recently even ownership capabilities (consuming, borrowing, non-copyable types…). In “Back to basics” we will focus on just one part of the language in order to uncover the deep theory behind that feature as well as provide concrete advice for writing real-world code.

8 videos 4 hr 46 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 →

Image

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
Image

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
Image

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

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

Image
Frank Courville
@Frankacy

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

Image
Arjun Nayini
@anayini

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

Image
Rajiv Jhoomuck
@rajivjhoomuck

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

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

Image
Nico Passo
@nicopasso

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

Image
Alejandro Martinez
@alexito4

I really love the dynamics of @pointfreeco. The dance of “this is super nice because…” “yes, BUT….”. they clearly show what’s good, what’s not so good and keep continuously improving.

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

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