Sign in

Peter Friese

@peterfriese.dev
1.6K followers 1.1K following 1K posts

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

PostsRepliesMedia
Peter Friese @peterfriese.dev · 22/09/2026
Ok, I'm curious - how do y'all handle API keys in your app? A) Hardcoded B) Keep them in my backend C) Remote Config or similar D) Something else (see reply)
030
Peter Friese @peterfriese.dev · 21/09/2026
Want to use Typesafe's Jev in your Swift apps using the convenience of Apple's Foundation Models framework? Well - here you go (GitHub repo link in the replies)! (h/t to Richard Wei for the inspiration!)
161
Peter Friese @peterfriese.dev · 19/09/2026
@twostraws.bsky.social can you DM me on the platform of your choice?
000
Peter Friese @peterfriese.dev · 17/09/2026
The Firebase Apple SDK now supports AsyncStreams for Firestore snapshot listeners, realtime Remote Config, and Firebase Auth. To hear more about how we built this and the underlying principles, come to my talk "Don’t call us - we’ll call you: Modern SwiftUI callbacks using AsyncStream" at swiftCon!
030
Peter Friese @peterfriese.dev · 16/09/2026
Want to experience the emotional rollercoaster of being an indie app developer in 5 minutes? Indie Simulator is hilarious (and mildly infuriating) 😂 go.peterfriese.dev/fun-indie-s...
x.com
Paul Hudson (@twostraws) on X
A simulator for indie app developers. It might be a bit too close to home in places 🙃 https://t.co/rzHH741vQr (via @caseyliss)
100
Peter Friese @peterfriese.dev · 16/09/2026
I love giving talks that have a fun demo. For this year at DevFest HAM, I will bring Sherlock Holmes back to life with Gemini TTS. Come join me on October 16th in Hamburg, it's going to be fun!
100
Peter Friese @peterfriese.dev · 15/09/2026
Ever hesitate to write because "someone already covered this" or "AI can explain it"? Andrea Colombo shares why your unique perspective is what helps people learn. Share what you know in your own voice: go.peterfriese.dev/business-sh...
x.com
Andrea (@acolombiadev) on X
How to share what you know (without becoming an influencer)
010
Peter Friese @peterfriese.dev · 15/09/2026
If you ever wonder why coding agents demand permission prompts for simple terminal commands, listen to this Hard Fork episode. They break down the OpenAI:Hugging Face agent sandbox escape and what it means for agent safety: go.peterfriese.dev/ai-hard-for...
castro.fm
Hard Fork: The A.I. Mob That Attacked Hugging Face + METR’s Ajeya Cotra (1h18m)
This week, we’re diving into two new reports about the OpenAI-Hugging Face hack. We discuss what’s new and how they fundamentally change our understanding of what happened. Then we’re joined by Ajeya Cotra, one of the investigators at METR, to discuss the rogue agents’ message board and chain-of-thought transcripts and how the world should respond. Guests: Ajeya Cotra, co-author of the METR and Redwood Research report on the OpenAI-Hugging Face hack. Additional Reading: Brief Independent Invest…
130
Peter Friese @peterfriese.dev · 15/09/2026
Resetting your coding agent loses history; compacting drops details. Posthorse by fitchmultz takes a different approach: distilling context into durable notes so agents keep key journey state across tasks: go.peterfriese.dev/ai-posthors...
github.com
GitHub - fitchmultz/pi-posthorse: Posthorse: fresh context, same journey. Native no-summary context windows for the fitchmultz/pi fork of the Pi coding agent, with rollover tools, durable notes, and history recovery.
Posthorse: fresh context, same journey. Native no-summary context windows for the fitchmultz/pi fork of the Pi coding agent, with rollover tools, durable notes, and history recovery. - fitchmultz/p...
010
Peter Friese @peterfriese.dev · 14/09/2026
The Humanizer skill targets 35 patterns of AI writing to make generated text sound human. I tested it with Pangram: still flagged as 100% AI generated. Writing it yourself is still your best option: go.peterfriese.dev/ai-humanize...
github.com
GitHub - blader/humanizer: Agent skill that removes signs of AI-generated writing from text
Agent skill that removes signs of AI-generated writing from text - blader/humanizer
000
Peter Friese @peterfriese.dev · 14/09/2026
Even with "humanizer" prompts, AI writing always has a tell. Bryan Cantrill writes on the revolt of the reader, and why relying on LLMs to write your prose drives your audience away instead of growing it: go.peterfriese.dev/ai-revolt-o...
bcantrill.dtrace.org
The revolt of the reader | The Observation Deck
Reading is important to me. While I’m not a quick reader nor an especially voracious one, I have found that long-form reading has had a profound influence on me over my life. And because reading is important to me, writing is too: writing not only allows us to convey our ideas, but the very act forces us to test and distill them — at once making our ideas more robust while providing the vehicle by which to share them.
011
Peter Friese @peterfriese.dev · 14/09/2026
Stop clicking "Continue" a hundred times inside loops or waiting for specific API responses. Sagar Unagar shares how to leverage conditional breakpoints in Xcode to pause only when specific expressions evaluate to true: go.peterfriese.dev/swift-condi...
go.peterfriese.dev
Conditional Breakpoints in Xcode - Debug Specific States Faster
Learn how to use conditional breakpoints in Xcode to pause only when a specific expression, such as item.id == 42, evaluates to true.
031
Peter Friese @peterfriese.dev · 13/09/2026
Just when I thought I had collected all covers of Vulfpeck's "Dean Town", I found this eclectic marimba version: www.youtube.com/watch?v=Ddl...
youtube.com
VULFPECK - Dean Town [marimba cover] - Lo Steve
VULFPECK - Dean TownEsordio sul tubo col ritmo più funky del pian...
120
Peter Friese @peterfriese.dev · 11/09/2026
Ever seen live-coded music with strudel.cc and wished you could do that in Swift? 1amageek created SwiftMusic, a declarative Swift DSL for composing musical events. Time for live-coded music at the next Swift conference! 🎶 go.peterfriese.dev/swift-swift...
github.com
GitHub - 1amageek/SwiftMusic: Declarative music in Swift: patterns, musical events, and live update state.
Declarative music in Swift: patterns, musical events, and live update state. - 1amageek/SwiftMusic
011
Peter Friese @peterfriese.dev · 11/09/2026
Nested rounded corners often look slightly off if the radii don't match concentric curves. @natpanferova.bsky.social breaks down how to use the new ConcentricRectangle shape and containerShape() modifier in iOS 26: go.peterfriese.dev/swiftui-con...
nilcoalescing.com
Corner concentricity in SwiftUI on iOS 26
Make your views and controls fit perfectly within their containers using new SwiftUI APIs in iOS 26 such as the ConcentricRectangle shape and the containerShape() view modifier.
051
Peter Friese @peterfriese.dev · 11/09/2026
Just yesterday, someone told me they thought Firebase was _just_ a database. 😳 (To be fair, I get it — the BASE in the name is a pretty strong hint...) Firebase is a platform for building apps without backend headaches: - Serverless infrastructure & auth
120
Peter Friese @peterfriese.dev · 11/09/2026
Current status:
000
Peter Friese @peterfriese.dev · 11/09/2026
Building adaptive layouts for the new iPhone Duo? Artem Mirzabekian breaks down SwiftUI's new ArrangementView in iOS 27.1 and how it adapts view pairs across foldable postures: go.peterfriese.dev/swiftui-bui...
peterfriese.dev
Peter Friese
Welcome to peterfriese.dev!
010
Peter Friese @peterfriese.dev · 10/09/2026
If you've received multiple copies of Not only Swift today... I'm so sorry 🫣 I added some automation steps to my newsletter engine a while ago, and by a combination of unlucky circumstances my script ended up pushing the newsletter not once or twice, but 5 times 😱
120
Peter Friese @peterfriese.dev · 10/09/2026
Teaching your coding agent to build for the new iPhone Duo? Florian Schweizer updated his SwiftUI agent skills (works in Cursor, OpenCode, and Antigravity) to help agents handle the new device postures: go.peterfriese.dev/ai-fwc-swif...
peterfriese.dev
Peter Friese
Welcome to peterfriese.dev!
041
Peter Friese @peterfriese.dev · 10/09/2026
Apple just announced the iPhone Duo, their first foldable device. Jordan Morgan put together a list of key developer resources to help you get a head start before devices hit shelves: go.peterfriese.dev/swiftui-iph...
peterfriese.dev
Peter Friese
Welcome to peterfriese.dev!
020
Peter Friese @peterfriese.dev · 10/09/2026
Issue #104 of Not only Swift is out! 🗞️ • iPhone Duo: developer first look • Updated SwiftUI agent skills (@FloWritesCode) • Why authentic voice matters in tech writing • SwiftMusic: live-coding music in Swift • Corner concentricity in SwiftUI peterfriese.dev/newsletter/...
peterfriese.dev
Not only Swift - Issue #104
In Issue #104, we examine the revolt against AI-written content, test whether humanizer tools can fool AI detectors, explore agentic context management with Posthorse, and dive into the Hard Fork analysis of the Hugging Face agent attack. Plus: declarative music in Swift, conditional breakpoints in Xcode, and iOS 26 concentric corners.
141
Peter Friese @peterfriese.dev · 07/09/2026
🗞️ The 3 most-read developer articles this week on Not Only Swift: 🥇 SwiftUI data dependencies and their effect on view updates 🔗 go.peterfriese.dev/swiftui-dat...
nilcoalescing.com
SwiftUI data dependencies and their effect on view updates
Compare the effects of stored inputs, state, bindings, environment values and observable models on SwiftUI view updates through input comparison, access tracking and subscription behavior.
112
Peter Friese @peterfriese.dev · 04/09/2026
I updated my curated guide to upcoming iOS, Swift, and AI developer conferences for 2026 and 2027. If you are planning your conference travel for this fall, check out the updated lineup: go.peterfriese.dev/conferences...
peterfriese.dev
Not only Swift - Issue #100
Celebrating 100 issues of Not only Swift! Featuring FlowDeck Studio, agentic iOS delivery pipelines, Sendable closures, adaptive SwiftUI toolbars, WhatCable USB-C diagnostics, and 2026/2027 iOS conferences.
021
Peter Friese @peterfriese.dev · 04/09/2026
From clean tap water to refrigeration, we live surrounded by technologies people a century ago would consider magic. Jordan Dworkin created Ordinary Abundance, a lovely interactive tour of everyday wonders we take for granted: go.peterfriese.dev/fun-ordinar...
ordinaryabundance.com
Ordinary Abundance
A walk through a modern apartment, through the eyes of the people for whom everything in it was new.
000
Peter Friese @peterfriese.dev · 03/09/2026
If you love Logitech hardware (like the MX Master) but hate the bloated Options+ app, check out OpenLogi. It's a fast, local-first alternative written in Rust with no account login and zero telemetry: go.peterfriese.dev/tools-openl...
go.peterfriese.dev
OpenLogi
A native, local-first alternative to Logitech Options+, written in Rust. Remap buttons, drive DPI and SmartShift over HID++ — no account, no telemetry.
071
Peter Friese @peterfriese.dev · 03/09/2026
Them: "How many socks do you need? Me: "Yes."
130
Peter Friese @peterfriese.dev · 03/09/2026
Can you blog on paper in 2026? Jeff Huleatt built an Agent Skill with Gemini that turns handwritten notebook pages into markdown for his Astro blog. A great mix of analog writing and AI: go.peterfriese.dev/tools-blogg...
jhuleatt.com
Blogging with (actual) paper
Jeff Huleatt's blog
020
Peter Friese @peterfriese.dev · 03/09/2026
How do you hide an invisible watermark inside plain text? James Padolsey built a great interactive visualization explaining how statistical watermarking works by subtly weighting token probabilities during generation: go.peterfriese.dev/ai-how-ai-t...
declaude.org
How AI text watermarking works
A gentle visual guide to how a statistical mark hides inside generated text, and what erases it.
020
Peter Friese @peterfriese.dev · 02/09/2026
We're going live on @Firebase After Hours with Jan Felix to chat about Evals in a moment. www.youtube.com/watch?v=BKB...
youtube.com
Develop better skills with Eval-Driven-Development | Firebase After Hours #27
Join us for this episode of Firebase After Hours as we dive deep in...
011
Peter Friese @peterfriese.dev · 02/09/2026
We can all spot AI slop from a mile away. Ian Vanagas outlines a practical approach to writing with AI: treat LLMs as research assistants and sounding boards, but keep human craftsmanship at the core by writing the words yourself: go.peterfriese.dev/ai-how-i-wr...
x.com
Ian Vanagas (@IanVanagas) on X
How I write with AI
110
Peter Friese @peterfriese.dev · 02/09/2026
Why is Jan-Felix upside down? And why should you use Evals? Come find out later today in episode 27 of @Firebase After Hours. (Tip: Hit subscribe and the "notify me" button to get an alert when we go live).
100
Peter Friese @peterfriese.dev · 02/09/2026
The game is afoot: building an AI book companion that answers your questions without spoiling what comes next. Using The Hound of the Baskervilles as our dataset, Marina and I will implement context-aware RAG that respects your current reading position. Join us live: youtube.com/live/okWxmd...
youtube.com
No spoilers, Sherlock! Building a book Q&A using on-device AI | Code, Commit, Deploy, Repeat (S2E2)
Join Sherlock and Dr. Watson - erm, Marina and Peter in Episode 2 o...
000
Peter Friese @peterfriese.dev · 02/09/2026
Developers run fleets of coding agents, but most people haven't touched one. @maxwellzeff.bsky.social explores why everyday users haven't embraced AI agents yet: go.peterfriese.dev/ai-why-norm...
wired.com
Why Normal People Aren’t Using AI Agents
The tech industry is realizing it needs to build agents based on what regular consumers want, not just what its AI models can do.
100
Peter Friese @peterfriese.dev · 02/09/2026
Haven't done a lot of livestreams lately, so I thought "why not do two in a single day"?
100
Peter Friese @peterfriese.dev · 02/09/2026
Protecting APIs and LLMs from fraud requires verifying genuine Apple devices. Arsh explains DeviceCheck, App Attest, and how Firebase App Check puts them to work: go.peterfriese.dev/firebase-de...
dev.to
DeviceCheck and App Attest: Stopping Fraud in iOS Apps
Your API has no idea what is calling it. A request arriving at POST /api/redeem looks identical...
021
Peter Friese @peterfriese.dev · 01/09/2026
Only pass properties into a SwiftUI view that it needs to render content. @natpanferova.bsky.social explains how inputs, @State, and @Observable drive view updates: go.peterfriese.dev/swiftui-dat...
nilcoalescing.com
SwiftUI data dependencies and their effect on view updates
Compare the effects of stored inputs, state, bindings, environment values and observable models on SwiftUI view updates through input comparison, access tracking and subscription behavior.
2103
Peter Friese @peterfriese.dev · 01/09/2026
Issue #103 of Not only Swift is out! 🗞️ In this issue: • Fleets of coding agents in worktrees • Why normal people aren't using AI agents (@maxwellzeff.bsky.social) • SwiftUI data dependencies (@natpanferova.bsky.social) • Blogging on paper with Gemini peterfriese.dev/newsletter/...
021
Peter Friese @peterfriese.dev · 01/09/2026
Who's coming to iOSDevUK? If you attend my workshop on September 7th (Monday, 16:00) , I've got the new Firebase socks!
030
Peter Friese @peterfriese.dev · 31/08/2026
🗞️ The 3 most-read developer articles this week on Not Only Swift: 🥇 Headless Xcode: From Prompt to Simulator with MCP 🔗 go.peterfriese.dev/ai-headless...
artemnovichkov.com
Headless Xcode: From Prompt to Simulator with MCP
Use Xcode 27's headless MCP server and Apple's agent skills to build, preview, and verify an iOS app
111
Peter Friese @peterfriese.dev · 31/08/2026
I updated my list of upcoming iOS, Swift, and AI developer conferences for 2026 and 2027. Swift Island is taking a break this year, but NSSpain is returning to Logroño this September! Take a look at the full calendar: go.peterfriese.dev/conferences...
peterfriese.dev
Not only Swift - Issue #100
Celebrating 100 issues of Not only Swift! Featuring FlowDeck Studio, agentic iOS delivery pipelines, Sendable closures, adaptive SwiftUI toolbars, WhatCable USB-C diagnostics, and 2026/2027 iOS conferences.
011
Peter Friese @peterfriese.dev · 31/08/2026
Elementary, my dear developer: how do you answer questions about a book without revealing what happens three chapters later? Join Marina and me for a livestream where we build an AI-powered book companion app that keeps spoilers locked away! youtube.com/live/okWxmd...
youtube.com
No spoilers, Sherlock! Building a book Q&A using on-device AI | Code, Commit, Deploy, Repeat (S2E2)
Join Sherlock and Dr. Watson - erm, Marina and Peter in Episode 2 o...
100
Peter Friese @peterfriese.dev · 31/08/2026
It's easy to assume you understand a topic until you write it down. Sean Goedecke explains why blogging about concepts you haven't mastered yet is the fastest way to learn them: go.peterfriese.dev/fun-blog-ab...
go.peterfriese.dev
Blog about things you don't understand yet
Every post I publish represents at least two things I’ve learned: the thing that prompted me to write the post, and the thing I learned in the course of writing…
120
Peter Friese @peterfriese.dev · 28/08/2026
JUnit was famously written on a transatlantic flight. Lack of Wi-Fi helped, but what about engine rumble? Dmitrii Kotelnikov explores brown noise and how it helps developers focus: go.peterfriese.dev/fun-why-bro...
linkedin.com
Why Brown Noise Might Help You Focus
You may have noticed something weird: sometimes it is surprisingly easy to work on a plane. People everywhere, shitty seat, terrible internet, and somehow you can sit with one difficult problem for hours.
010
Peter Friese @peterfriese.dev · 28/08/2026
Captive portals on airport and in-flight Wi-Fi are the worst when they refuse to open. Flighty made flightywifi.com—a clean, lightweight URL you can type in to trigger the sign-in screen immediately: go.peterfriese.dev/tools-fligh...
130
Peter Friese @peterfriese.dev · 28/08/2026
Managed to set up a multi-agent fleet for Antigravity that builds my app for Android and iOS at the same time.
280
Peter Friese @peterfriese.dev · 27/08/2026
What if... Teenage Engineering built a TBR app?
010
Peter Friese @peterfriese.dev · 27/08/2026
AI code reviewers are great at catching edge cases, but getting trapped in endless bot review ping-pong is exhausting. Paul Bakaus created agent-reviews to help your local coding agents triage, address, and reply to PR comments cleanly: go.peterfriese.dev/tools-agent...
agent-reviews.com
agent-reviews
Break the bot review doom loop. CLI and agent skills that triage, fix, and reply to every PR review comment.
140
Peter Friese @peterfriese.dev · 27/08/2026
ICYMI: Cloud Firestore now supports AsyncStreams! speakerdeck.com/peterfriese...
speakerdeck.com
Don’t call us - we’ll call you
AsyncSequence is a modern way to handle asynchronous events. In this talk, you will learn how it works both from a consumer and producer perspective, an…
110
Peter Friese @peterfriese.dev · 27/08/2026
Hunting down past coding agent sessions across tools is a pain. Corey Chiu built Wake—a fast native macOS app (Rust + GPUI) to search and resume local sessions across Claude Code, Cursor, and more: go.peterfriese.dev/tools-wake-...
github.com
GitHub - iAmCorey/Wake: Every coding-agent session on your Mac in one place — browse, search, resume. Rust + GPUI.
Every coding-agent session on your Mac in one place — browse, search, resume. Rust + GPUI. - iAmCorey/Wake
010