Offline-first SwiftUI apps with real platform depth — WidgetKit, MapKit, App Intents,
AVFoundation, accessibility — backed by tested logic and green verification gates.
No to-do apps.
Each app proves a different "real iOS" capability beyond CRUD — and each is built one at a time until its verification gates go green.
01
SpendWise
Budgeting & spending analytics
Private, on-device money tracking. Set monthly budgets, watch trends in Swift Charts, lock it behind Face ID, and round-trip your data through CSV — no account, fully offline.
SwiftData store shared with a home-screen widget via App Group
Swift Charts: 6-month stacked bars + current-month donut
Face ID app lock and once-per-crossing budget alerts
CSV import with interactive column mapping — round-trip tested
Build streaks with a genuinely tested grace engine, review your day as a deck of cards, and complete habits straight from a home- or lock-screen widget via App Intents.
Streak engine with explicit grace rules — exhaustively unit-tested
Plan trips day-by-day on a MapKit map. Drag places between days, export to Calendar, and keep everything working in airplane mode — network is enrichment, never load-bearing.
Trip → Day → Place hierarchy in SwiftData, fully local
A reader built around the people most apps forget: text-to-speech with word-level highlight-follow, dyslexia-friendly typography, and a VoiceOver label contract enforced by tests.
AVSpeechSynthesizer with live word highlighting (UTF-16 range mapping)
Save recipes, plan the week, and auto-generate a grocery list that dedupes by ingredient and subtracts what's already in your pantry — the gnarly logic lives in a fully tested module.
Weekly planner: 7 days × breakfast / lunch / dinner
The same principles run through all five. They're what let an app loop to "done" instead of spinning.
Offline-first
Every app runs fully on-device with seeded sample data on first launch. Network calls — weather, geocoding — are enrichment, never a dependency.
Logic in tested modules
Budget math, streak rules, grocery aggregation, range mapping — pulled out of the views into pure Swift and covered by 85 exhaustive unit tests.
Verification gates
An app ships only when its gates go green: unit tests, UI smoke tests, a clean build with zero warnings, and a manual SMOKE.md walkthrough.
Accessibility as a contract
Labels, traits, and focus order are treated as first-class — and in ReadAble, the VoiceOver labels are asserted by a UI test, not just hoped for.
Modern, native APIs
Swift 6 with default MainActor isolation, SwiftData, Swift Charts, WidgetKit, App Intents, MapKit — and zero third-party dependencies across all five apps.
Built for review
XcodeGen project files, a README with real simulator screenshots in every repo, and clone-and-open access — so the work reads as clearly as it runs.
Contact
Let's build something native.
Open to iOS roles and collaborations. Every repo below is public — clone, open in Xcode 26, and the seeded apps run on first launch.