Profile avatar
peterfriese.dev
Developer Advocate on the Firebase team @ Google YouTube: https://www.youtube.com/@PeterFriese Blog: https://peterfriese.dev
330 posts 1,200 followers 1,035 following
Regular Contributor
Active Commenter

Without view modifiers, your SwiftUI views would be dull (or you'd have to pass an endless list of parameters to the view initializer)... View modifiers rely on the SwiftUI environment, but how does this work? Come to my talk at SwiftHeroes to learn more! swiftheroes.com/2025/speakers/

Discover how rephrasing can enhance the quality of responses in your RAG-powered chats! www.youtube.com/live/eF00qb...

🚨 LIVE in 15 minutes: Building a Second Brain App - implementing chat history for the knowledge Q&A feature. www.youtube.com/watch?v=eF0...

In issue 73 of Not only Swift: Migrating to Swift 6, new concurrency features in Swift 6.1, retrieving the parent view controller in SwiftUI, a 20% DISCOUNT for SwiftUI Fundamentals, Ollama and Swift, MLX Swift and tool calling, preparing your app for Apple Intelligence, ...

Join my livestream tomorrow as I work on adding chat history to the knowledge Q&A feature of my Second Brain app! www.youtube.com/watch?v=eF0...

The next issue of @peterfriese.dev's Not only Swift newsletter will include a special deal on my book, SwiftUI Fundamentals - 20% off! The issue goes out on February 24. Sign up to stay up to date with #iOSDev news and benefit from this limited-time offer: not-only-swift.peterfriese.dev

Great news: @natpanferova.bsky.social is offering a 20% discount on her new book, 'SwiftUI Fundamentals,' for my subscribers. The discount code will be included in the next issue (coming out February 24th). Subscribe now: not-only-swift.peterfriese.dev/

Who doesn't dread filing their expenses? Here is an expense tracker I built using Genkit and Gemini 2.0. Throw in some invoices, and it will extract the correct details, convert currencies (using tool calling), normalise the dates, and render everything as Markdown.

I think it's fair to say that the SwiftUI environment is the backbone of what makes SwiftUI and its view modifiers work. natpanferova.bsky.social put together a great overview of what the environment is and how it works. It's a must-read! not-only-swift.peterfriese.dev/issues/72?m...

If you're looking for a set of "worst practices" with regards to Swift 6 concurrency, look no further than @massicotte.org's excellent collection of problematic Swift Concurrency Patterns: not-only-swift.peterfriese.dev/issues/72?m...

📬 Not only Swift just went out to subscribers. This week, there is a bunch of stuff about processing PDF files using LLMs, as well as Swift Concurrency, the VS Code Swift extension, the SwiftUI Environment, and more! Thanks to the community for creating amazing content!

Picard management tip: If you're not sure what to say, take a deep breath and a dramatic pause. Maybe somebody else will talk first.

Turns out the 1M context window of Gemini 2.0 Flash is pretty useful for working with PDF files. I wrote a CLI with Commander.js, Genkit, and Gemini 2.0 that allows me to extract structured data from PDFs. It's even able to read scrawny handwriting! peterfriese.dev/blog/2025/g...

Genkit offers a unified generation API, which makes trying out different models quite easy. Here, I am using DeepSeek's R1 via Ollama to chat with a PDF file on my machine, entirely locally.

I built an AI-powered text adventure in less than 30 lines of code using Genkit. Here, I'm using "A Study in Scarlet" as the world I interact with.

Genkit 1.0 is out! www.youtube.com/watch?v=3p1P...

Can't wait for this to be released! It's been a long road, I hope y'all enjoy what the team has put together!