{"id":24995611,"url":"https://github.com/peterfriese/peterfriese","last_synced_at":"2026-02-03T16:03:42.857Z","repository":{"id":139036245,"uuid":"293563541","full_name":"peterfriese/peterfriese","owner":"peterfriese","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-21T16:05:55.000Z","size":479,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T17:20:46.601Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterfriese.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-07T15:21:17.000Z","updated_at":"2025-06-21T16:05:58.000Z","dependencies_parsed_at":"2023-11-23T23:21:42.583Z","dependency_job_id":"a9b0be37-bd38-489a-9f12-2d62bc275798","html_url":"https://github.com/peterfriese/peterfriese","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/peterfriese/peterfriese","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterfriese%2Fpeterfriese","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterfriese%2Fpeterfriese/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterfriese%2Fpeterfriese/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterfriese%2Fpeterfriese/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterfriese","download_url":"https://codeload.github.com/peterfriese/peterfriese/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterfriese%2Fpeterfriese/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261685988,"owners_count":23194198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-04T15:39:18.269Z","updated_at":"2026-02-03T16:03:42.851Z","avatar_url":"https://github.com/peterfriese.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hi, I'm Peter 👋🏼\n\nI'm a Staff Developer Advocate (which is just a fancy word for \"Software Engineer who loves to tinker around with technology and teach other people\") on the Firebase team 🔥.\n\n## My recent posts on [peterfriese.dev](https://peterfriese.dev/)\n\u003c!-- BLOG-POST-LIST:START --\u003e\n- [Turn Your Photos Into Miniature Magic with Nano Banana](https://peterfriese.dev/blog/2025/gemini-nano-banana-ios/)\n- [Reverse-Engineering Xcode\u0026#39;s Coding Intelligence prompt](https://peterfriese.dev/blog/2025/reveng-xcode-coding-intelligence/)\n- [Extracting structured data from PDFs using Gemini 2.0 and Genkit](https://peterfriese.dev/blog/2025/gemini-genkit-pdf-structured-data/)\n- [Understanding SwiftUI Preferences](https://peterfriese.dev/blog/2025/swiftui-preferences-swift6/)\n- [Creating a reusable action menu component in SwiftUI](https://peterfriese.dev/blog/2025/swiftui-action-menu/)\n\u003c!-- BLOG-POST-LIST:END --\u003e\n\n## My recent videos\n\u003c!-- YOUTUBE-ALL:START --\u003e\n- [Smart Tagging - Improving the UX | Sofia S4E4](https://www.youtube.com/watch?v=7y87nuq9x5Y)\n- [Implementing Auto-Tagging with Gemini \u0026amp; Firebase | Sofia S4E3](https://www.youtube.com/watch?v=t3CgMsrJoQo)\n- [I planned a feature, but my app crashed \u0026lpar;Live debugging with Antigravity\u0026rpar;](https://www.youtube.com/watch?v=O-XbrEy9DRc)\n- [AI-powered Swift dev: building a tagging system with Gemini \u0026amp; Firebase](https://www.youtube.com/watch?v=Z-KB7gOnE_E)\n- [The Final Commit of 2025: Adding \u0026quot;Sign in with Apple\u0026quot; to the browser extensions - with Antigravity!](https://www.youtube.com/watch?v=c4AcJjE6aTU)\n\u003c!-- YOUTUBE-ALL:END --\u003e\n\n## My recent Firebase videos\n\u003c!-- YOUTUBE-FIREBASE:START --\u003e\n- [Firebase After Hours #20: Make It So](https://www.youtube.com/watch?v=90AJjo7VVpA)\n- [November 2025: Gemini 3, Crashlytics MCP, Data Connect Admin SDKs](https://www.youtube.com/watch?v=kKI3WfufXfY)\n- [Implementing chat with Firebase AI Logic on iOS](https://www.youtube.com/watch?v=AZ_JYSYUmg4)\n- [Firebase After Hours #13: From Zero to Hosted: Pushing the Limits of Firebase App Hosting](https://www.youtube.com/watch?v=8vojkFvKT1U)\n- [Firebase After Hours #12: Streaming in Cloud Functions for Firebase! ☁️](https://www.youtube.com/watch?v=IuSH0VHazcA)\n\u003c!-- YOUTUBE-FIREBASE:END --\u003e\n\n\n## Find me around the web 🌎\n\n- Answering your SwiftUI \u0026 Firebase questions on [`StackOverflow`](https://stackoverflow.com/users/281221/peter-friese) 📚\n- Writing about stuff I built on my blog, [`peterfriese.dev`](https://peterfriese.dev/) ✒️\n- Talking all things Firebase 🔥 and Swift 🍏 on YouTube: [`@peterfriese`](https://www.youtube.com/@peterfriese)\n- Chatting away on Twitter: [`@peterfriese`](https://twitter.com/peterfriese) 🐦\n- Enjoying the breath of fresh air on BlueSky: [`@peterfriese.dev`](https://bsky.app/profile/peterfriese.dev) 🦋\n- I'm also on Mastodon: [`@peterfriese@iosdev.space`](https://iosdev.space/@peterfriese) 🐘\n- ... and Threads, as well: [`@peterfriese`](https://www.threads.net/@peterfriese?hl=en) 🧵\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterfriese%2Fpeterfriese","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterfriese%2Fpeterfriese","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterfriese%2Fpeterfriese/lists"}