Shipped
Coming to Android
An Android version of TossTracker is in active development. It will bring the same three taps per throw scoring, saved match history, and stats to phones and tablets running Android.
Want to know when it lands? Send me a note and I will let you know.
- In development
- Android phone
- Android tablet
Enterprise Work
Before SarahUniverse, I spent over a decade at a Fortune 500 company building enterprise mobile software: apps used by field teams to do their jobs on a phone or tablet, frequently with no network in reach.
That work was cross-platform and full stack. iOS in Swift and Objective-C, Android in Java, shared logic in C++, and the Java, C#, and Go services behind them. I took sole ownership of an iOS codebase when its senior engineer left and delivered the outstanding backlog, worked at the framework level building the native modules a cross-platform mobile framework lacked (geospatial through the ArcGIS SDK among them) rather than only consuming it, and partnered with UX leadership to define watchOS interaction standards.
Security and quality were part of the job rather than someone else's: structured code audits, vulnerability remediation, and threat modeling against enterprise compliance requirements, alongside automated test coverage across Swift, Objective-C, C++, and JavaScript, and the CI/CD work that made releases repeatable. Earlier, Java microservices on Cloud Foundry for certificate management and enterprise security workflows, and MDM test automation that got 40% faster.
That code is proprietary and stays private, so the projects below are what I can put in front of you directly. Read them as working samples rather than the full scope of what I have shipped.
- 10+ years
- iOS
- Android
- watchOS
- Backend
- Security
- Offline capable
Featured Project
Recipes
A SwiftUI recipe browser built on a testable, protocol-oriented core, and the clearest example of how I put an iOS feature together.
- Observable MVVM behind protocol seams with init-injected dependencies, so every layer can be tested without touching the network or the disk.
- Swift 6 strict concurrency throughout, with off-main Sendable networking and typed errors rather than stringly-typed failures.
- A custom decoder that flattens TheMealDB's parallel ingredient fields into a model that is actually pleasant to work with.
- SwiftData favorites that render fully offline, with cached thumbnails over a shared URLCache.
- Full VoiceOver support, backed by 31 unit and UI tests across Swift Testing, XCTest, and XCUIAutomation.
- Relevant if: you need a networked, offline-capable iOS feature that is accessible and tested from the start rather than retrofitted.
Code Samples
Weaver
A DAG-based job scheduler and workflow orchestrator in Go with a React UI, built as a small, readable take on the ideas behind Airflow and Temporal.
- A Postgres-backed queue with no broker, at-least-once execution with heartbeat leases, and cron scheduling that backfills every missed slot exactly once.
- Runs end to end under Docker Compose, backed by 88 tests including integration tests against a real Postgres instance in CI.
- Relevant if: your product needs scheduled or background work that has to run exactly once and survive a crash.
eCFRProject
A Go service that ingests the Electronic Code of Federal Regulations and turns roughly 200,000 pages across about 150 agencies into metrics a non-engineer can act on.
- Per-agency word count, words per chapter, content checksums, Flesch Reading Ease scores, and a churn metric measuring the share of an agency's chapters whose text changed since the previous snapshot.
- Gzip-compressed XML snapshots in SQLite, refreshed in the background on startup and then daily, so the history that churn is measured against accumulates on its own.
- A dashboard served straight from the Go binary in both dark and light modes, over endpoints for agencies, metrics, and refresh state.
- Relevant if: you have a large external data source to ingest, version, and turn into something people will actually read.
QRCodeGen
A protocol-seam architecture with dependency injection over a Core Image generation pipeline, with an off-main, Sendable generator under Swift 6 strict concurrency.
- Typed errors and SwiftData hidden behind protocols, mock-tested without UIKit, Core Image, or the disk, and with zero third-party dependencies.
- Relevant if: you want a codebase whose tests run fast and offline because the framework edges are seams rather than hard dependencies.
Calculator
MVVM over a protocol-driven service layer with dependency injection. SwiftData persistence syncing to a Go and SQLite backend in the background, with an offline retry queue.
- Unit, UI, and backend test coverage across both halves of the stack.
- Relevant if: your app has to keep working offline and reconcile cleanly once it reconnects.
JSONParser
A native macOS app with a hand-written RFC 8259 JSON parser: a custom lexer and recursive descent parser, no Foundation JSONSerialization. AppKit interop for a syntax-highlighting editor.
- Typed errors carrying line and column, full VoiceOver support, and hermetic UI tests.
- Relevant if: you need a format parsed correctly to spec, or a Mac app that is genuinely accessible.
Workout
A pure, deterministic domain core under a Swift 6 strict-concurrency UI, with protocol-based dependency injection over SwiftData and Swift Charts visualizations.
- Safe concurrency and testable domain design, backed by 64 unit and UI tests.
- Relevant if: your app has rules and calculations that have to be provably correct, not just visually correct.
More, including Go, Swift, and web work not listed here, on my GitHub profile.









