Peter Friese's Avatar

Peter Friese

@peterfriese.dev

Developer Advocate on the Firebase team @ Google YouTube: https://www.youtube.com/@PeterFriese Blog: https://peterfriese.dev

1,500
Followers
1,086
Following
786
Posts
31.08.2023
Joined
Posts Following

Latest posts by Peter Friese @peterfriese.dev

Not only Swift - Issue #95 The Model Context Protocol (MCP) was introduced just a few months ago, and it already seems to be replaced by none other than the trusty CLI.

I cover this and more in the latest issue of Not Only Swift. Read the full issue here: peterfriese.dev/newsletter/...

11.03.2026 12:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - Techopolis/Perspective-Server: macOS menu bar app that exposes Apple's on-device Foundation Models as an OpenAI-compatible local API. Zero cloud. Zero dependencies. macOS menu bar app that exposes Apple's on-device Foundation Models as an OpenAI-compatible local API. Zero cloud. Zero dependencies. - Techopolis/Perspective-Server

Want to use Apple Foundation Models with your favorite AI tools? Perspective-Server has you covered. by Techopolis

github.com/Techopolis/...

11.03.2026 12:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I cover this and more in the latest issue of Not Only Swift. Read the full issue here: peterfriese.dev/newsletter/...

10.03.2026 18:45 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Turns out, dumping your entire project history into AGENTS.md doesn't make the AI smarter. Keep it brief. by Phil Schmid

www.philschmid.de/writing-goo...

10.03.2026 18:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Firebase After Hours #22: Agent Skills for Firebase
Firebase After Hours #22: Agent Skills for Firebase How do you turn a generic AI agent into a Firebase expert? Join Firebase experts Joe Hanley, the creator of Agent Skills for Firebase, and Luke Schlangen on ...

Learn all about Agent Skills for Firebase on this week's Firebase After Hours

March 12th, 18:00 CET (10:00 am PDT)

www.youtube.com/watch?v=a4s...

10.03.2026 16:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I cover this and more in the latest issue of Not Only Swift. Read the full issue here: peterfriese.dev/newsletter/...

10.03.2026 12:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - edwardsanchez/MotionEyes Contribute to edwardsanchez/MotionEyes development by creating an account on GitHub.

Giving your AI coding agent 'eyes' to see your SwiftUI animations. What could go wrong? by Edward Sanchez

github.com/edwardsanch...

10.03.2026 12:30 πŸ‘ 3 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I cover this and more in the latest issue of Not Only Swift. Read the full issue here: peterfriese.dev/newsletter/...

10.03.2026 10:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Building a second brain requires good tagging. Here is how I evolved the smart tags in Sofia. by @peterfriese.dev

www.youtube.com/watch?v=rym...

10.03.2026 10:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Smart Tags Evolved: Renaming, Grounding, Better UX | Sofia S4E6
Smart Tags Evolved: Renaming, Grounding, Better UX | Sofia S4E6 In today's stream, I plan to wrap up the smart tagging features I've been working on. Here are some of the features that I want to implement:- Renaming tags-...

Let's put Gemini 3.1 Flash Lite to the test!

www.youtube.com/watch?v=rym...

09.03.2026 18:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Smart Tags Evolved: Renaming, Grounding, Better UX | Sofia S4E6
Smart Tags Evolved: Renaming, Grounding, Better UX | Sofia S4E6 In today's stream, I plan to wrap up the smart tagging features I've been working on. Here are some of the features that I want to implement:- Renaming tags-...

Ready for some agentic coding? Join me as I wrap up the implementation of the smart tagging feature(s) of my second brain app!

www.youtube.com/watch?v=rym...

09.03.2026 17:55 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I cover this and more in the latest issue of Not Only Swift. Read the full issue here: peterfriese.dev/newsletter/...

09.03.2026 16:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - twostraws/SwiftUI-Agent-Skill: SwiftUI agent skill for Claude Code, Codex, and other AI tools. SwiftUI agent skill for Claude Code, Codex, and other AI tools. - twostraws/SwiftUI-Agent-Skill

A new CLI skill to automatically review your SwiftUI codebase for accessibility and best practices. by @twostraws.bsky.social

github.com/twostraws/S...

09.03.2026 16:30 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

Huge thanks to the Google Workspace Team, Anthony Tran, Edward Sanchez, @twostraws.bsky.social, Kyle Browning, @puf.io, Phil Schmid, Techopolis, Modular Team, @scott.hanselman.com, Eric Holmes, Miguel Ramos, Patrick Loeber, Tom Wojcik for the great content!

09.03.2026 12:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Not only Swift - Issue #95 The Model Context Protocol (MCP) was introduced just a few months ago, and it already seems to be replaced by none other than the trusty CLI.

Everything is a file - even in the age of AI.

Issue 95 looks at why the CLI is beating MCP, plus SwiftUI updates.

peterfriese.dev/newsletter/...

09.03.2026 12:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Maybe I am much taller than you assume ;-)

09.03.2026 10:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Deep Dish Swift 2026 A supreme Swift developer conference being served in Chicago, Illinois HappeningΒ April 12thΒ toΒ April 14th of 2026!

Get your tickets before it's too late:

ti.to/deep-dish-s...

09.03.2026 10:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Sneak peak of me giving a talk about asynchronous programming using pizza-related metaphors at DeepDishSwift.

Will I dress up like a pizza delivery guy? Maybe.
Will I eat pizza on stage? Probably not.
Will this be a fun and entertaining talk? Heck yes!

bsky.app/profile/dee...

09.03.2026 10:30 πŸ‘ 4 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Not only Swift - Newsletter Archive Archive of all newsletter issues

Issue 95 of Not only Swift is ready to go out first thing in the morning.

Topics: a flatMapLatest implementation for Swift, an agent skills for your SwiftUI animations, a conversation with Chris Lattner about an AI-first language, and more!

Subscribe: peterfriese.dev/newsletter/

08.03.2026 17:38 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3)
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3) A single uppercase letter crashed our entire Android application, but AI helped us fix it and build a brand-new feature across two platforms simultaneously!I...

To make this possible, we defined the data model using an Antigravity implementation plan:

www.youtube.com/live/6jImWJ...

06.03.2026 16:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
βœ‚οΈ Antigravity one-shot todo lists for Android! 46 seconds Β· Clipped by Peter Friese Β· Original video "To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3)" by ...

Antigravity one-shot a lists feature for our productivity app:

www.youtube.com/clip/Ugkxgr...

06.03.2026 16:43 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - peterfriese/imagen-cli-tool: A professional Node.js CLI tool for generating high-quality images in bulk using Google's Gemini and Imagen Developer APIs. A professional Node.js CLI tool for generating high-quality images in bulk using Google's Gemini and Imagen Developer APIs. - peterfriese/imagen-cli-tool

github.com/peterfriese...

06.03.2026 14:54 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A steampunk ornithopter soaring above a Victorian city nestled in the crater of a dormant volcano.

A steampunk ornithopter soaring above a Victorian city nestled in the crater of a dormant volcano.

Had a chat with twostraws.bsky.social about generating images with Nano Banana using the Gemini Developer API.

Here is one the images I had Nano Banana generate.

Want to generate images in bulk? Check out the CLI I built. Link in the next post.

06.03.2026 14:54 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3)
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3) Welcome back to Code, Commit, Deploy, Repeat! First order of business: Marina briefly explains last week's Android crash and proves the app is actually alive...

πŸ”΄ LIVE NOW πŸ”΄

Marina and I are adding multiple lists to our multi-user todo app on the Firebase channel:

www.youtube.com/watch?v=6jI...

02.03.2026 18:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3)
To-Do: 1. Fix the Android Crash. 2. Build Lists. 3. Profit? | Code, Commit, Deploy, Repeat (S1E3) Welcome back to Code, Commit, Deploy, Repeat! First order of business: Marina briefly explains last week's Android crash and proves the app is actually alive...

In our previous livestreams, Marina and I built a simple todo app for iOS and Android. Today we're adding support for multiple lists.

Join us on the Firebase channel to talk through the Firestore data model and implement it using Antigravity.

www.youtube.com/watch?v=6jI...

02.03.2026 16:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Release Swift Book swift-6.2.3-fcs-pdf-snapshot-20260228 Β· peterfriese/swift-book The Swift Programming Language book as a PDF! Contribute to peterfriese/swift-book development by creating an account on GitHub.

For anyone who’s interested, here is the updated version of the PDF. Please file any feedback on the repo, and I’ll look into fixing them.

github.com/peterfriese/...

28.02.2026 20:19 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I've caught up the main branch of the PDF repo with the upstream repo and recompiled the book. Looking good so far. However, note that the upstream repo hasn't been tagged yet.

Would you be interested in taking a look at the result and provide feedback?

28.02.2026 18:03 πŸ‘ 2 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

MicroGPT by Andrej Karpathy: A GPT in <250 lines of Python. gist.github.com/karpathy/86...

27.02.2026 16:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

VecturaKit by Rudrank Riyam: Swift-based vector database for on-device RAG. github.com/rryam/Vectu...

27.02.2026 12:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Agentic Coding in Xcode with Gemini CLI. My guide on connecting them via MCP. peterfriese.dev/blog/2026/a...

26.02.2026 16:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0