← All work NATIVE IOS ENGINEERING 2026

CARTA

A tactile iPhone reading sanctuary combining curated classical literature, local-first SwiftData persistence, and fluid 120Hz gesture physics.

A La Rochefoucauld maxim on Carta's card deck in the Dusk canvas
01 The card deck, with tactile dismissal and spring physics.

OVERVIEW

Carta transforms how people read classic literature on mobile. Instead of infinite scrolling feeds or complex e-reader UIs, Carta delivers curated poetry and philosophy passages through an elegant, tactile card deck with ambient background audio.

CHALLENGE

Building a truly distraction-free reader required balancing low-latency gesture physics, offline catalog persistence, and seamless background audio playback without hitching 120Hz display refresh rates or relying on cloud network latency.

Walt Whitman in Carta's distraction-free reader, Red Velvet canvas
02 Distraction-free reader view with custom editorial serif typography.

OUR APPROACH

Engineered with a local-first philosophy using SwiftData model containers, custom drag velocity math in SwiftUI, and non-blocking AVAudioSession background audio loops. No ads, no third-party tracking, and instant sub-frame responsiveness.

OUTCOME

Shipped to the Apple App Store as a complete, native iOS product. Features an offline-first catalog, custom distraction-free reading typography, ambient soundscapes, and a CoreGraphics high-resolution quote card export studio.

Carta ambient atmosphere soundscapes
03 Ambient soundscape controls with system interruption resilience.
Carta quote card export studio
04 CoreGraphics export studio for high-res passage rasterization.
SYSTEMS & ARCHITECTURE

TECHNICAL DEEP DIVE

01 DATA ARCHITECTURE

Server-Side Feeds & Offline-First Persistence

A catalog of more than 5,000 passages lives in Supabase Postgres. Decks are served by paginated RPCs that filter, de-duplicate, and rank on the server, with row-level security on every table. A bundled starter library and an on-device cache put the first card on screen instantly and keep the app readable offline.

Kept passages and custom decks persist locally in SwiftData and sync to an optional account. Per-deck state and a staged buffer keep rapid deck switching free of repeats, and For You re-ranks upcoming cards from what a reader keeps and skips.

02 INTERACTION ENGINE

120Hz ProMotion Card Gesture Physics

The signature card-swipe interaction is powered by custom SwiftUI drag gestures tracking translation deltas, instantaneous velocity, and angular rotation transforms.

Dynamic release thresholds determine whether to snap the card back to center or dismiss it off-screen using damped spring physics. View rendering trees were profiled in Xcode Instruments to eliminate main-thread layout thrashing and maintain 120Hz animation fluidity.

03 MEDIA SUBSYSTEMS

Audio Lifecycle & Interruption Handling

Ambient soundscapes (rain, hearth, library, twilight wind) are managed via a dedicated audio coordinator configuring AVAudioSession with ambient mixing categories.

The system observes NotificationCenter events for audio route changes (e.g. AirPods disconnect) and system interruptions (incoming phone calls, alarms), smoothly fading playback volume and resuming state without audio clipping or memory leaks.

GET IN TOUCH

OPEN TO INTERNSHIPS. LET’S TALK.

LONG BEACH, CA · PACIFIC TIME