7-8 OCT 2025

A Unique 2 Day Swift Conference in the Heart of Leeds

The Playhouse, Leeds
Buy ticket
Scroll for more
Layer
Layer
Layer
Layer
Layer
Layer

Schedule

16:30 – 17:45
Registration

It's time to check-in for your exclusive event which is the brand new SwiftLeeds Talkshow LIVE!

This is a paid add-on and requires a talk show ticket.

18:00 – 19:00
Talkshow 1st Half

Open the conversation with us. It's the official SwiftLeeds Live Talkshow, with a live panel. Bring your questions and get ready for the best event.

19:00 – 19:30
Refreshment Break ☕️

19:30 – 20:30
Talkshow 2nd Half

Open the conversation with us. It's the official SwiftLeeds Live Talkshow, with a live panel. Bring your questions and get ready for the best event.

20:30 – 23:30
CodeMagic Happy Hour 🍻

We're delighted to end the SwiftLeeds Talkshow with our friends and sponsors CodeMagic for a special fun Happy Hour. It will be hosted in the bar area of the main venue.

08:30 – 09:45
Registration & Breakfast

Welcome to SwiftLeeds 25.

It's time to check in using your QR code-generated ticket and receive our famous SwiftLeeds swag. Please make your way up the stairs to be greeted by our famous warm and cold buffet-style breakfast options.

09:45 – 10:00
Astronauts Prepare... 👩🏼‍🚀

Adam Rush will be hosting your SwiftLeeds this year and hear some thoughts about what is in store for you this year and a glimpse into some of the amazing talks we have lined up.

10:00 – 10:45
Talk
“That One”

We are lucky to be a part of the Swift Community. We begin SwiftLeeds by considering our roles as individuals in this community and the larger community.

Daniel Steinberg
Daniel Steinberg

Storyteller, Writer, Teacher, Coder and Podcaster

10:45 – 11:30
Talk
Don’t call us - we’ll call you: Modern SwiftUI callbacks using AsyncStream

Mobile apps have to permanently deal with asynchronous events - notifications, network status, database updates, user input, and more. The way how we have dealt with asynchronous events has changed significantly over time - from callback delegates to closures, and now AsyncSequence.

In this talk, we will take a deep dive into how AsyncStream works, how to use it in your apps, and how to use it to build ergonomic APIs. We will also take a trip down memory lane to understand where we’re coming from, and how asynchronous APIs have evolved over the years.

You will learn:

  • All the ways to listen to asynchronous events
  • How AsyncStream helps to make your apps more robust
  • What’s the difference between AsyncSequence and AsyncStream
  • How to use AsyncStream to implement modern APIs that are easy to use

I will provide real-world examples to explain the underlying concepts, and we’ll take a look at how the Firebase team implemented asynchronous APIs over the span of almost a decade and several iterations of Objective-C and Swift.

Peter Friese
Peter Friese

Staff Developer Advocate, Firebase

11:30 – 11:45
Refreshment Break ☕️

11:45 – 12:15
Short Talk
Keychain Unlocked: Mastering Advanced Security for Smarter, Safer Apps

Keychain, a framework used to store sensitive data securely, has an interesting place in the Apple Developer’s toolchain. Pretty much everyone has worked with it, it’s used literally in every app, yet not many developers interact with it’s API directly. Because the Keychain's API, while being flexible, is often considered low-level, developers often use third-party libraries or wrappers to bridge the gap and present it's API in a simpler way. As a result, most developers become unaware of the full potential of the framework and might be reluctant to implement custom data storage and retrieval mechanisms associated with it. This talk will shine the light on the intricacies of the Keychain by building one of those „Keychain Wrappers“ from scratch and gradually adding support for extra functionality, such as the biometric authentication, sharing data across multiple apps and storing multiple data types. Later, we’ll focus on creating custom authentication flows to improve user experience, for example, by not showing a biometric authentication prompt every time the user would like to access the data.

The following topics will be covered in detail:

  • Deep Dive into Keychain API: Understanding the API's structure, storage mechanics, and how it handles background encryption and decryption.

  • Enhanced Security through Biometrics: Strategies for integrating Face ID and Touch ID to protect data stored in the Keychain, and managing biometric state changes.

  • Efficient Data Management and Retrieval: Techniques for setting, retrieving, and deleting data within Keychain, including error handling and best practices.

  • Cross-App / App Extensions Keychain Sharing: Implementing keychain groups to enable secure data sharing across multiple apps and managing access control for inter-app communication.

  • Security Analysis: Keychain-related coding tips for improving app security.

Richard Topchii
Richard Topchii

Apple Platforms Engineer / Consultant

12:15 – 12:30
Attendee Group Photo 📸

12:30 – 13:30
Leeds Kirkgate Market Lunch

This year we have signed an exclusive deal with the Leeds Kirkgate Market. With over 15 food traders to choose from with a voucher to spend on anything you fancy.

We can't wait to see what you pick to eat 🌭

You can view a full list of traders here

13:30 – 14:15
Talk
Beyond Xcode: Exploring Apple’s Open-Source Offerings

Think all Apple has to offer comes packaged with Xcode? Think again. Apple's GitHub account contains more than 300 repositories. Although some of them are experimental or very specific to the compiler and the toolchain, quite a few could come in handy for any Swift developer.

In this talk, we'll explore some of these open-source packages and see how we can put them to good use in our everyday code:

  • Swift Numerics makes your life easier when you need to implement more advanced mathematics. Its modular approach makes it useful even if you only need a small part, like handling complex numbers.
  • Swift Argument Parser simplifies the creation of command-line tools by taking care of argument parsing for you.
  • Subprocess makes it easy to spawn external processes and interface with their input and output, not only on macOS but also on Linux and Windows.
  • Swift Protobuf provides a nice alternative to Codable for data storage or messaging with other systems.
  • Swift Markdown comes in handy when manipulating Markdown documents.
  • Swift OpenAPI Generator is useful not only when you're doing server-side development but anytime you need to call a REST API from your Swift code.
  • swift-certificates takes care of the nitty-gritty details of dealing with X.509 certificates.

We'll also take a brief look at packages targeted at specific environments, like Swift MMIO, which simplifies bare-metal embedded development and the Swift Container Plugin, which makes creating Docker images much easier.

This talk targets any developer with a basic knowledge of Swift. We will not go into the details of how to use each package but show practical use cases where such packages can be valuable.

Attendees will discover how, exploring the additional packages made available by Apple, can help in their day-to-day development tasks. But since these packages are open source, we encourage everyone to explore their implementation, or even better, contribute. This is a great way to learn even more and take your Swift expertise to the next level.

Eric Bariaux
Eric Bariaux

Nelcea, Founder

14:15 – 15:00
Talk
Swift on the Server - we ARE there now

Ever since Swift on the server became an option, the question has always been but is it ready, are we there yet? This talk will provide a state of the union for Swift on the server and definitively prove that yes, we are there and it is being used in the real world for a wide range of backends from the very small to the absolutely massive.

This talk will cover the changes over the last year or two with Swift 6, structured concurrency, new generations of frameworks from Hummingbird and Vapor and an invigorated ecosystem that covers everything you'd ever need. We'll also look at Swift's general expansion into non-Apple platform areas covering everything from running in the browser with Swift Wasm and running on tidy embedded devices.

By the end of the talk you should have a good understanding of where Swift on the server is and how much it really is being used in the real world. You'll see why it is becoming so popular and how it is setting itself apart from not only the traditional backend languages but newer languages as well.

Tim Condon
Tim Condon

Vapor Core Team

15:00 – 15:30
Refreshment Break ☕️

15:30 – 16:15
Talk
Don’t Let Time Zones Ruin Your Day (Days?)

Even things that seem simple can quickly spiral out of control when dealing with time zones. This is exactly what happened when I started building my weather app. From subtle coding mistakes with serious consequences, to unexpected WeatherKit behavior, this lighthearted talk will share my (painful) journey navigating time zones. My goal with this talk is to lift much of the fear around time zones and help you avoid many of the mistakes I made.

For the first part of my talk, I want to show how easy it is to get yourself into trouble with time zones with subtle coding mistakes with multiple examples (adding to dates, displaying dates, formatting dates, dates in chart axis labels, etc). I’ll then explain how I slowly started to realize that things had gone off the rails with the time data my app was displaying.

I’m going to show multiple comments people have posted online about hating dealing with time zones or being outright afraid to. Some of these will be funny of course.

Then I’ll step through each of my code examples explaining why they were wrong and how to fix them.

Now that we have a better understanding of how to code for time zones I want to explain how you should assume nothing about time zones or your data and give some examples.

For example, you might assume that Apple WeatherKit won’t tell you that a day starts at two different times in a single response. That assumption is incorrect and it absolutely can happen in certain locations thanks to time zone wackiness.

This is an unpleasant subject but I aim to make it a lighthearted talk that can hopefully help some people avoid what I went through and give them the confidence to tackle time zone coding.

Chris Wu
Chris Wu

Indie App Developer

16:15 – 16:45
Short Talk
Stealing user’s identity

In this presentation, I would like to demonstrate how a malicious attacker can steal a user’s identity by exploiting a vulnerability in a mobile application.

Live on stage, I will find a vulnerable WebView implementation which I will then try to exploit via my jailbroken device from where I will gather enough information to craft the exploit for real devices, up to a point where with one link I am able to steal user's identity if a user clicked on the link and the vulnerable app was installed.

The goal is to bring awareness to mobile security and how such an exploit can be conducted.

The presentation highlights the importance of cyber security and personal awareness of such threats.

It is all one big live demo with reverse engineering live on stage.

Cyril Cermak
Cyril Cermak

iOS System Architect - Porsche A.G

16:45 – 17:30
Talk
How hard can it be to send a postcard?

An odyssey a decade in the making, with a simple end goal: answering the question of how hard can it be to send a postcard?

Come along for the journey as we delve into everything that makes an app an app, from the practical (using swift-openapi-generator to share api contracts across client and server, the value of investing in Xcode Cloud for CI/CD, why in-app purchases are wonderful) to the very impractical (why AppClips are awesome and yet no-one uses them, how to build the most privacy-focused experiences at the expense of your users) and everything in between.

Along the way, we'll learn how Apple's 15% fee can be less than a credit card processor's 3.5% fee, when is a physical good NOT a physical good, and what happens when you ask "Where can I find a stamp?" while in southern India.

Join me, as we take the road less-traveled, and begin to understand why that is.

Erin Sparling
Erin Sparling

Creating single points of failure for fun and profit at Happitec, LLC

17:30 – 23:30
SwiftLeeds 5th Birthday Bash 🎉

This year marks 5 years in the making. To celebrate we are hosting our 5th birthday bash at the venue immediately after the conference ends. Grab a drink, have a sing or keep on networking!

08:30 – 09:45
Registration & Breakfast

Welcome to SwiftLeeds 25.

It's time to check in using your QR code-generated ticket and receive our famous SwiftLeeds swag. Please make your way up the stairs to be greeted by our famous warm and cold buffet-style breakfast options.

09:45 – 10:00
Astronauts Prepare... 👩🏼‍🚀

Adam Rush will be hosting your SwiftLeeds this year and hear some thoughts about what is in store for you this year and a glimpse into some of the amazing talks we have lined up.

10:00 – 10:45
Talk
Practical Guide to Shipping Fast

For the past 8 years, I’ve been working at Meta, company known for shipping fast. I worked on many 0 to 1 projects, notably being one of the first engineers on the Threads team, brain-computer interfaces recently demoed as a part of the Orion project, and for the past year, been working on various Meta AI efforts. I worked on iOS apps, backend, frontend, Android AOSP system, and hardware. In this talk, I wanted to share some battle-tested principles I learned over the years at Meta. These principles allow companies and teams of all sizes to ship products quickly. You will walk away with some concrete approaches allowing you to understand how to prototype faster, help product and designers come up with higher-quality ideas, and cut time from idea to a real product in people’s hands. The lessons we will talk about are applicable to teams of all sizes.

Sash Zats
Sash Zats

Software engineer at Instagram

10:45 – 11:15
Short Talk
Overcoming the 5 Stages of UI Grief (integrating SwiftUI into big projects full of UIKit)

(integrating SwiftUI into big projects full of UIKit, communication intricacies between old UIKit modules and new SwiftUI built on top of them)

  1. Step: Denial - “We need to rewrite the whole project in SwiftUI OR we just can’t use it, stick to UIKit and programmatic layout” How to move on: See some SwiftUI in action and get inspired (examples of simple design and basic property wrappers, SwiftUI strengths)

  2. Step: Anger - “Things that were extremely easy in UIKit can be the opposite in SwiftUI” How to move on: Realize the opposite is true as well. Design more complex layouts with SwiftUI (example layout and focus on GeometryReader)

  3. Step: Bargaining - “I’m adding more SwiftUI views BUT with delegates and arrays of views, inheritance and factories” How to move on: Realize the struggle whenever you try to use proper SwiftUI or any online solution (examples of struggles)

  4. Step: Depression - “my SwiftUI doesn’t really look like SwiftUI, dudes on Stackoverflow mock my code” How to move on: Design swiftUI components which conform to swiftUI api but also can work with UIKit (examples of such component design)

  5. Step: Acceptance - “In big older projects, we are still far from being SwiftUI only, but I will fight for any chance to use it” How to remain in acceptance: Use only SwiftUI for anything new whenever possible; have a strong base of systems and practices in place to make building new UI on top of old UI easier (examples of solutions to two-way communication problems between SwiftUI and UIKit)

Oksana Shcherban
Oksana Shcherban

iOS Engineer at Kayak.com

11:15 – 11:30
Refreshment Break ☕️

11:30 – 12:15
Talk
Tuning your app using Xcode's Instruments

Have you ever spent hours chasing down frustrating performance issues like bloated app storage or laggy UIs? Or maybe you’ve noticed something off in your app’s performance but weren’t quite sure how to track down the root cause?

You’re not alone. After years of debugging apps at scale, I’ve built a toolkit of techniques, tools, and processes to help you quickly identify and fix those elusive performance problems like a pro.

In this session, I’ll take you on a deep dive into analyzing real-world performance, memory, and UI issues using Xcode’s Instruments. Drawing from my own experience working with apps at scale, I’ll walk you through the most common challenges developers face—from unexpected memory spikes to sluggish UI elements. You’ll see how to approach these problems in practice, using real scenarios I’ve encountered in production apps.

We’ll explore several powerful Instruments templates, including Time Profiler for spotting CPU bottlenecks and analyzing thread usage, Zombies for catching memory leaks, and the Concurrency instrument for visualizing task execution and actor behavior. I’ll also highlight the often-overlooked SwiftUI instrument—a potential game-changer for anyone working with SwiftUI.

By the end of this session, you’ll walk away with a clear process and a practical toolkit for investigating and resolving a wide range of app performance issues—ready to put to work in your own projects.

Pol Piella Abadia
Pol Piella Abadia

iOS Developer

12:15 – 13:30
Leeds Kirkgate Market Lunch

This year we have signed an exclusive deal with the Leeds Kirkgate Market. With over 15 food traders to choose from with a voucher to spend on anything you fancy.

We can't wait to see what you pick to eat 🌭

You can view a full list of traders here

13:30 – 14:15
Talk
Side Effects as Behavior: Modeling Analytics and Beyond with Swift Concurrency

In most iOS apps, event logging and analytics are treated as scattered side effects — buried in view models, dumped into coordinators, or forgotten altogether. But what if we modeled them as first-class behaviors?

In this talk, I’ll share how I used Swift’s concurrency model and actors to build a flow-aware event logger for a complex multi-step user journey. When users made a choice on one screen, that context needed to persist and influence logging on all subsequent screens. Rather than rely on brittle state passing, we modeled the logger itself as a structured, stateful component.

This approach separates logging concerns from UI, reduces boilerplate, and opens the door to broader uses: A/B testing, recommendation engines, and more. By the end of the session, you’ll see how even side effects can be designed — and why that makes your architecture better.

Kim Gyuri
Kim Gyuri

Lead iOS Engineer @PFC Technologies

14:15 – 14:45
Short Talk
Best Practices in SDK Development - Building a Great Developer Experience

Modern software increasingly relies on open-source and commercial libraries, yet creating a maintainable, developer-friendly SDK remains a challenge.

This talk delves into best practices that differentiate great SDKs from good ones. We'll explore critical aspects of SDK development including:

  • Designing intuitive, future-proof APIs
  • Implementing robust versioning strategies.
  • Structuring the API surface for discoverability.
  • Creating tests that ensure SDK reliability over time.
  • Building documentation that serves your users' needs.

Whether you're maintaining an existing SDK or planning a new one, you'll walk away with insights to create SDKs that developers trust and enjoy using.

Daniel Saidi
Daniel Saidi

Indie developer - SDKs & apps

14:45 – 15:15
Refreshment Break ☕️

15:15 – 15:45
Short Talk
Building Trust: Using mTLS for Secure Baby Monitor Connections

In a world where security and privacy are critical, Mutual TLS (mTLS) ensures that only trusted devices can communicate with each other. In this talk, we’ll break down mTLS fundamentals and explore how we’ve implemented a robust certificate architecture at Harbor to secure baby monitor connections. We’ll dive into the technical details of integrating mTLS with URLSession delegates, the challenges of managing certificates in the Keychain, and the hurdles of enforcing mTLS across the entire stack—including AVPlayer and third-party libraries that don’t support custom networking. Join us for a deep dive into real-world lessons from securing IoT applications with mTLS.

Aline Borges
Aline Borges

Lead iOS Engineer @ Harbor

15:45 – 16:00
Lightning
The art of the pull request template

We always talk about how to make a good pull request or even how to a good reviewer, but there are effective tools to make the experience more consistent and build confidence for both parties in the review process with a solid pull request template. In this talk we’ll figure out the questions we have, build an example template, and see how confidence can grow throughout the talk. Whether you’re on a large team, working solo, and especially if you’re diving into unknown codebases there’s something for you in this talk.

Erica Engle
Erica Engle

Staff Engineer @slack

16:00 – 16:15
Lightning
PencilKit: From simple drawings to custom creative tools

With PencilKit, it’s easy for iOS apps to include a highly polished drawing UI for users with or without Apple Pencil. Apple introduced this framework in iOS 13, initially as black box with limited customisation opportunities. In the years since, they’ve opened it up with deep APIs. Most recently, iOS 18 added support for custom tools in the tool picker.

This talk will provide an overview of the capabilities of PencilKit across iPad, iPhone, Mac and Apple Vision Pro. We’ll look at the vector-based data model used by PKDrawing and see how the modular design of the API allows the canvas and tool picker to be used independently, which opens the framework up to a lot more than simply recreating Apple’s Markup feature in your app.

Douglas Hill
Douglas Hill

iOS team lead at Nutrient

16:15 – 16:45
This will be out of this world 🌍

Imagine stepping on an island without your MacBook 💻

16:45 – 17:15
Short Talk
"I'm Here by Mistake" — Dealing with Impostor Syndrome in Big Tech

I launched a feature to 50 millions of users — and still felt like I didn’t belong at the table.

You hit deadlines. You build great things. People trust your work — but you still question if they should.

This isn’t a talk about crushing impostor syndrome in 5 easy steps. It’s an honest account of what it’s like to grow your career in Big Tech while battling a voice that says, “You’re not good enough.”

We’ll cover:

  1. Why impostor syndrome is especially loud in high-performance environments.

  2. The moments that nearly made me walk away — and what helped me stay.

  3. How to spot self-doubt patterns before they spiral.

  4. And ways teams and leaders can create cultures that don’t quietly exhaust their most vulnerable people.

This is a talk for anyone who’s ever felt like a fluke in a fancy job title. You’re not here by mistake. And neither am I.

Ekaterina Volkova
Ekaterina Volkova

Software Engineer @ Zalando

17:15 – 17:30
Prepare for landing 🏝️

A closing remark from Adam Rush and the SwiftLeeds team.

17:30 – 19:30
After Party 🍾

The final closing party for SwiftLeeds will be hosted inside the venue to close out SwiftLeeds 25.

Join us for SwiftLeeds 2025!

In full-time education? Choose our cheaper student pricing.

Buy our livestream pass to join us online and never miss a moment.

Coming with friends or colleagues? Get a discount when you book together.

7-8 OCT

SwiftLeeds 2025

QR Code
Buy ticket
from only £180
Top