Peter Friese
banner
peterfriese.dev
Peter Friese
@peterfriese.dev
Developer Advocate on the Firebase team @ Google

YouTube: https://www.youtube.com/@PeterFriese
Blog: https://peterfriese.dev
Your SwiftUI List is slow. Here's how to identify and optimize List / ForEach performance. x.com/kyleswifter...
November 14, 2025 at 2:00 PM
Apple's updated Swift tutorials are here (and they're more comprehensive than ever): developer.apple.com/tutorials/d...
Develop in Swift | Apple Developer Documentation
Develop in Swift Tutorials introduce app development with Swift and Xcode to anyone learning to build apps for Apple platforms.
docs.developer.apple.com
November 14, 2025 at 10:30 AM
Tired of your "Sandbox" folder becoming a black hole? tobi/try sets up fresh directories for every experiment and helps you find them later: github.com/tobi/try
GitHub - tobi/try: fresh directories for every vibe
fresh directories for every vibe. Contribute to tobi/try development by creating an account on GitHub.
github.com
November 13, 2025 at 6:45 PM
"Ensure your view bodies update quickly and only when needed" - @squeakytoy demonstrates how to achieve this in SwiftUI.

Essential viewing for anyone building SwiftUI apps: www.youtube.com/live/yXAQTI...
Optimize your app's speed and efficiency | Meet with Apple
Join us online to learn how to elevate your app experience by maximizing performance and resolving inefficiencies. Whether you’re optimizing an existing app ...
www.youtube.com
November 13, 2025 at 12:30 PM
Combine Subjects vs AsyncStream: the battle for reactive Swift supremacy. Here's when to use each (spoiler: AsyncStream is winning). tanaschita.com/swift-combi...
Comparing Combine's subjects with AsyncStream in Swift
Combine's subjects like PassthroughSubject and CurrentValueSubject have been the standard way to emit values in reactive architectures. With Swift concurrency, AsyncStream offers a concurrency-native alternative. Let's look at how both compare and where each fits best.
tanaschita.com
November 13, 2025 at 8:30 AM
Building chat with Firebase AI Logic on iOS? I've got you covered - system instructions, multimodal chat, streaming, and why LLMs can't keep conversation history (and how Firebase solves it): www.youtube.com/watch?v=AZ_...
Implementing chat with Firebase AI Logic on iOS
Learn how to build a powerful, AI-powered chat feature for your iOS app! In this video, https://www.youtube.com/@PeterFriese from the Firebase team shows you...
www.youtube.com
November 12, 2025 at 4:30 PM
That satisfying AI glow effect in Xcode's Coding Intelligence? You can have it in your SwiftUI apps too.

Here's how to make your views shine: livsycode.com/swiftui/an-...
An Apple Intelligence-Style Glow Effect in SwiftUI → Livsy Code
Greetings, traveler! Apple’s recent design language introduces a glowing, animated stroke effect that highlights shapes and components in a subtle yet dynamic way. Let’s walk through how to recreate this effect in SwiftUI with reusable extensions. Extending View with Background and Overlay The first step is to make the glow effect easy to apply anywhere.
livsycode.com
November 12, 2025 at 8:30 AM
Firebase + AsyncStreams = ❤️

Join my livestream to see how I'm making Firebase more Swift concurrency-friendly: www.youtube.com/watch?v=1OJ... @peterfriese
Firebase & AsyncStreams
AsyncSequence and AsyncSequence are an exciting way to consume asynchronous events in Swift apps. I am currently working on adding support for AsyncSequence ...
www.youtube.com
November 11, 2025 at 7:00 PM
Issue 88 of Not only Swift is out! SwiftUI performance secrets, Firebase AsyncStreams livestream, developer tools, and Apple's updated Swift tutorials.

peterfriese.dev/newsletter/...
Not only Swift - Issue #88
Why is your SwiftUI List so slow? This issue dives deep into SwiftUI performance secrets, plus my Firebase AsyncStreams livestream, clever developer tools, and Apple's beautifully updated Swift tutorials.
peterfriese.dev
November 11, 2025 at 4:30 PM
Want to implement streaming chat with Gemini in your iOS app? Use Firebase AI Logic.

Here is how:

www.youtube.com/watch?v=AZ_...
Implementing chat with Firebase AI Logic on iOS
Learn how to build a powerful, AI-powered chat feature for your iOS app! In this video, https://www.youtube.com/@PeterFriese from the Firebase team shows you...
www.youtube.com
November 6, 2025 at 8:32 PM
Fleshed out the slides for my talk "Beyond Prompts: Building Intelligent Applications with Genkit and the Model Context Protocol" a bit more - they now include a lot more detail about Genkit. Come see my talk today at code.talks 2025, or...
November 6, 2025 at 8:30 AM
Join us on the Firebase After Hours livestream to learn how to use the Gemini CLI to vibe code from the command line!

www.youtube.com/watch?v=5a7...
Gemini CLI - Agentic coding a Firebase App | Firebase After Hours #18
Join us for a first look at the future of development: agentic coding with the new Gemini CLI.We'll explore how Gemini CLI, combined with the Firebase MCP Se...
www.youtube.com
October 28, 2025 at 4:55 PM
One of the things I love about @swiftleeds.co.uk: the attention to detail. This is one of the nicest conference badges I've ever gotten.
October 9, 2025 at 11:30 AM
Great slides, much attention to detail, @chriswu.com !
October 7, 2025 at 2:46 PM
I know I should be working on my slides for @swiftleeds.co.uk, but this weather is just too good to be true.
October 6, 2025 at 2:53 PM
I'll just leave this here:
September 29, 2025 at 7:30 AM
Rebecca is walking us through how she and her team used Firebase AI Logic and a bunch of other AI tools to implement the Androidify app.

Really impressive, especially the prompts they use!
youtube.com/live/F15gKQ...
How Androidify uses Firebase AI Logic to turn you into an Android | Firebase After Hours #17
Ever wonder how AI can transform a simple selfie into a unique Android character? In this episode of Firebase After Hours, we pull back the curtain on the "A...
www.youtube.com
September 24, 2025 at 4:24 PM
🔴 LIVE NOW 🔴
Firebase After Hours with Rebecca Franks from Android DevRel.

Join us to learn how she and her team built Androidify with Firebase AI Logic!

www.youtube.com/live/F15gKQ...
How Androidify uses Firebase AI Logic to turn you into an Android | Firebase After Hours #17
Ever wonder how AI can transform a simple selfie into a unique Android character? In this episode of Firebase After Hours, we pull back the curtain on the "A...
www.youtube.com
September 24, 2025 at 4:05 PM
Join us TODAY on the Firebase After Hours livestream as Nohe and I chat with Rebecca Franks from the Android DevRel team how they built Androidify using Firebase AI Logic!

www.youtube.com/live/F15gKQ...
How Androidify uses Firebase AI Logic to turn you into an Android | Firebase After Hours #17
Ever wonder how AI can transform a simple selfie into a unique Android character? In this episode of Firebase After Hours, we pull back the curtain on the "A...
www.youtube.com
September 24, 2025 at 12:23 PM
Apple's new SwiftUI WebView is slick! 🔥 But how do you use it without dropping support for older iOS versions?

I just streamed how to build a backwards-compatible wrapper that uses the new WebView and falls back to WKWebView.

Check out the recording:

www.youtube.com/watch?v=OlH...
SwiftUI WebView | Building a Second Brain App - S3E10
In this week's stream, I am going to work on replacing a custom web view implementation with SwiftUI's new WebView.Intro music by @YoungElya and @klaws.mp3
www.youtube.com
September 22, 2025 at 9:30 AM
PSA: Gemini 1.5 models are fast approaching their retirement date (September 24th). This means any apps using these models will get 404 errors.

You should update to newer models to avoid service disruption. We generally recommend using Remote Config...

firebase.google.com/docs/ai-log...
September 19, 2025 at 1:00 PM
When working with the Gemini CLI, I found it's a good idea to let the agent discover your project first so it understands the structure of the project and what it is about.
September 19, 2025 at 11:36 AM
I recently upgraded one of my projects from the Gemini Developer API to the Vertex AI Gemini API, and ran into an issue saying "Requests to this API firebasevertexai.googleapis.com ... are blocked."

Turns out, a couple of permissions were missing on my API key.
September 19, 2025 at 9:30 AM