SeaBear Studios

@seabear.dev

Solo practice building software on Apple platforms and the web, with sidelines in security and AI consulting. https://seabear.dev

Cairn – Values Sort is now on the App Store! A simple, thoughtfully designed app that I hope helps a few people figure out what matters most to them. v1.1 is already in the works, but it's nice to have this one officially launched. apps.apple.com/app/id679097... #iOS #Swift #SwiftUI

Cairn - Values Sort App - App Store

Download Cairn - Values Sort by Kory Hoopes on the App Store. See screenshots, ratings and reviews, user tips, and more apps like Cairn - Values Sort.

apps.apple.com

CodexCLI, a TypeScript CLI for storing data you always forget. Server IPs, commands, config values, all organized with dot notation, searchable, and aliased for quick access. ccli add server.prod.ip 192.168.1.100 ccli get server --tree github.com/seabearDEV/codexCLI #CLI #dev #NodeJS #TypeScript

GitHub - seabearDEV/codexCLI: A command-line information store for quick reference of frequently used data.

A command-line information store for quick reference of frequently used data. - seabearDEV/codexCLI

github.com

Here's a quick SwiftUI experiment I just built. Press anywhere and a radial menu blooms around your finger. Drag in a circle like an iPod click wheel to select. Two modes: radial (items orbit around your touch) and dial (color wheel track, with items in a row). #iOS #Swift #SwiftUI

If you found this link useful, you'll love the newsletter. It’s a weekly dive into what I'm building, what I'm reading, and the tools that are actually worth your time—from SwiftUI deep dives to practical AI integration. Join the community: peterfriese.dev/newsletter/

Not only Swift - Issue #92

Ever wanted to use SwiftUI to build terminal apps? Now you can! Also in this issue: how to (not) shoot yourself in the foot with AI agents, the secret to buttery smooth SwiftUI performance, and a fun language learning app.

peterfriese.dev

Any @Observable read inside a ForEach body subscribes to all iterations. Isolate frequently-changing state into separate @Observable classes. Use short-circuit && checks to gate reads. Pre-compute plain values (Bool, Int) instead of passing @Observable objects through ForEach. #Swift #SwiftUI

DrawingGroup() is useful for cached content but detrimental to animating content, as it requires Metal to allocate and rasterize new textures each frame. Shadows should remain within DrawingGroup() to be absorbed into the Metal rasterization pass. #iOS #Metal #Swift #SwiftUI

Never use if/else branching in SwiftUI view bodies that have active gesture handlers. When branch conditions changes mid-gesture, SwiftUI destroys the old branch and recreates the new one, killing the in-progress gesture. Use conditional values on a single view structure instead. #Swift #SwiftUI

SeaBearKit v1.3.0 Added 3 essential SwiftUI view modifiers that'll clean up your code: • .if() - Conditional styling without duplication • .glassShadow() - Unified shadow system for Liquid Glass UI • .adaptiveCornerRadius() - Scales perfectly across device sizes