---
title: "iOS Development | Truman DeWalch"
description: "Native iOS applications with Swift and SwiftUI"
url: "https://trumandewalch.dev/projects/ios-development"
route: "/projects/ios-development"
---

Mobile Development

# iOS Development

Native applications built with Swift and SwiftUI

**Platform:** iOS / iPadOS

**Language:** Swift 6

**Framework:** SwiftUI

## Summary

- Privacy-first iOS app for hermit crab care tracking.
- SwiftUI app with Swift 6 concurrency and testable architecture.
- On-device data, local notifications, and export tools.

## CrabApp

CrabApp keeps tank logs, reminders, and export on the phone. Nothing leaves the device.

### Hermit Crab Care Companion

A privacy-focused iOS app for tracking hermit crab care: water quality, humidity, temperature, food, health observations, and molting cycles. All data stays on-device—no accounts, no servers, no analytics.

## Features

- ### Care Tracking

  Log water changes, humidity readings, temperature, feeding, and health observations
- ### Local Notifications

  Reminders for care tasks, all created and managed on-device
- ### Multi-Tank Support

  Track multiple habitats with separate logs and settings
- ### Care trends

  On-device charts of water, humidity, and feeding over time
- ### Privacy First

  No accounts, no servers, no telemetry—data never leaves your device
- ### Data Export

  Export your data for backup or analysis; import to restore

## Technical Highlights

- **Swift 6 Concurrency:** Modern async/await patterns with concurrency-safe architecture. Environment injection via `@Environment(\\.tankStore)` follows Swift 6 best practices.
- **Testable Architecture:** Dependency injection for all external interfaces (UserDefaults, notifications). Unit tests never touch real user data.
- **CI/CD Pipeline:** GitHub Actions for linting (SwiftLint strict), unit tests, and nightly UI tests. Pre-commit hooks enforce formatting.
- **Toast System:** Decoupled UI feedback via protocol (`Toasting`) to avoid runtime selectors and cross-actor captures.
- **Component Library:** Reusable SwiftUI components for log history, entry rows, quick-fill chips, tags, and flow layouts.

## Privacy & Security

- **Local Storage Only:** All data stored in UserDefaults on device
- **No Analytics:** Zero telemetry, tracking, or third-party SDKs
- **Clipboard Safety:** Local-only with short expiration for clipboard actions
- **Reset Option:** Clear all data and notifications from Settings → Advanced

## Development Stack

### UI Frameworks

SwiftUI · UIKit (bridged) · Combine

### Data & Storage

UserDefaults · Codable · JSON Export

### Quality & CI

SwiftLint · SwiftFormat · XCTest · GitHub Actions

## Links

- GitHub repository — private
- App Store — coming soon

[← Back to selected work](https://trumandewalch.dev/#projects)
