Skip to content
View OGSarah's full-sized avatar
🎯
Focused
🎯
Focused

Highlights

  • Pro

Block or report OGSarah

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
OGSarah/README.md

Hi, I'm Sarah πŸ‘‹πŸ»

Senior iOS Engineer with 10+ years shipping apps to the App Store at enterprise scale.

I own features end to end, across the whole stack, from raw sockets up to a polished Apple-platform surface.

Most of my production work lives in private enterprise codebases, so it can't be public. The repos below are where I keep my Swift sharp, work with the latest frameworks and tools, and explore the layers beneath the UI. Read them as working samples, not the full scope of what I've shipped.


πŸš€ Shipped to the App Store: TossTracker

TossTracker is a cornhole scoring app I designed, built, and published to the App Store on my own.

  • Automatic cancellation scoring
  • Round management and turn order
  • Saves every completed match with full team, score, and date detail
  • Searchable and filterable game history
  • CSV export and sharing
  • In-app rules reference
  • Optional sounds and haptics, plus a confetti finish
  • Full VoiceOver support with labels and hints throughout
  • Independent light and dark mode
  • Landscape support
  • Resumable in-progress games

Source is private, but it's the clearest example of my work taken all the way from idea to a released, accessible, polished product.


Example projects

Each public repo below maps a capability you can see in the code to how I apply it in private, professional work.

Repo What it demonstrates How it maps to my work
Calculator MVVM over a protocol-driven service layer with dependency injection. SwiftData persistence syncing to a Go + SQLite backend on background, with an offline retry queue. Unit, UI, and backend test coverage Owning testable, resilient architecture across a SwiftUI client and its backend
eCFRProject A Go service that ingests and analyzes federal regulation data, surfaced through a web dashboard Backend ingestion and analytics, full stack ownership
HTTPServer A from-scratch HTTP/1.1 server in Swift 6 on raw Darwin sockets, no frameworks: request framing, routing, an actor-backed store, and strict-concurrency-clean structured concurrency Low-level networking and safe concurrency below the framework layer
JSONParser A native macOS app with a hand-written RFC 8259 JSON parser. A custom lexer and recursive descent parser, no Foundation JSONSerialization. @Observable MVVM behind JSONParsing and PasteboardReading protocol seams. nonisolated, thread-agnostic parsing under Swift 6 strict concurrency. AppKit (NSTextView) interop for a syntax-highlighting editor. Typed errors carrying line and column. Full VoiceOver support, all backed by Swift Testing, XCTest, and XCUIAutomation suites with hermetic UI tests Implementing standards-compliant parsing from scratch and shipping testable, accessible Apple-platform UI below the framework layer
Workout A pure, deterministic domain core under a Swift 6 strict-concurrency UI. Protocol-based dependency injection over SwiftData. Swift Charts visualizations, all backed by 64 unit and UI tests Safe concurrency, testable domain design, and Apple framework depth
QRCodeGen A protocol-seam architecture with dependency injection over a Core Image generation pipeline. An off-main, Sendable generator under Swift 6 strict concurrency. Typed errors and SwiftData hidden behind protocols, all mock-tested without UIKit, Core Image, or disk Testable architecture and Apple framework depth, zero third-party dependencies
Recipes @Observable MVVM behind protocol seams with init-injected dependencies. Swift 6 strict concurrency with off-main, Sendable networking and typed errors. A custom decoder that flattens TheMealDB's parallel ingredient fields. SwiftData favorites that render fully offline. Cached AsyncImage thumbnails over a shared URLCache. Full VoiceOver support, all backed by 31 unit and UI tests across Swift Testing, XCTest, and XCUIAutomation Building accessible, offline-capable SwiftUI features on a testable, protocol-oriented core
Culinary-Catalog MVVM with dependency injection over Core Data, an async/await networking layer, typed errors, and Swift Testing Modern iOS architecture, structured concurrency, and test coverage
culinary-catalog-data A zero-infrastructure JSON data service backing Culinary-Catalog: a single source of truth fanned out into versioned, schema-validated feeds, auto-published by a GitHub Actions pipeline Owning the data contract and release automation behind a shipped client

Tech I work in

  • Languages: Swift, Go, Objective-C, Python, Java, JavaScript
  • Apple platforms: iOS (incl. iOS 27), iPadOS, macOS, watchOS, visionOS
  • Frameworks: SwiftUI, UIKit, AppKit, Core Data, SwiftData, Swift Charts, Core Image, WebKit, PhotosUI/Photos, UniformTypeIdentifiers, Combine, Observation, ActivityKit, HealthKit, CryptoKit, MapKit
  • Concurrency: async/await, Combine, Observation
  • Backend and APIs: Go, Gin, REST, GraphQL, WebSockets, Darwin/POSIX sockets, PostgreSQL, SQLite
  • Quality and tooling: Swift Testing, XCTest, XCUIAutomation, SwiftLint, Fastlane, Xcode Cloud, GitHub Actions, TestFlight

Find me

Pinned Loading

  1. Calculator Calculator Public

    iOS 27 SwiftUI app with a Swift to Go telemetry pipeline for async session logging across the client and backend.

    Swift

  2. Workout Workout Public

    iOS 27 SwiftUI app visualizing client progress over time with Swift Charts, deriving trends from set summary comparisons over a JSON dataset.

    Swift

  3. QRCodeGen QRCodeGen Public

    iOS 27 SwiftUI QR generator built on a CoreImage filter pipeline.

    Swift

  4. eCFRProject eCFRProject Public

    Go service that ingests and analyzes U.S. federal regulation data (eCFR) and surfaces it through a lightweight JS and HTML metrics dashboard.

    Go

  5. HTTPServer HTTPServer Public

    A from-scratch HTTP/1.1 server in Swift 6 using only the standard library and BSD sockets. Demonstrates low-level networking, protocol handling, structured concurrency, and a fully tested core.

    Swift

  6. Recipes Recipes Public

    A SwiftUI + SwiftData recipe app with testable, protocol-oriented architecture under Swift 6 strict concurrency: Observable MVVM, typed-error async networking, accessibility, and tests.

    Swift