ray's pen · an iOS studio ✎

iOS apps, layer by layer.

We design and build native iPhone apps, from the first pen sketch to the App Store, and we understand every layer in between.

Anatomy of an iOS app

Seven layers.
One tap.

keep scrolling, we'll take it apart ↓
LAYER 06

Your app

The part people actually touch: screens, flows and the tiny moments that make an app feel alive. This is where every sketch ends up.

Product designFlowsAccessibilityLocalization
LAYER 05

SwiftUI

Declarative interfaces that react to state. Views, animations and data flow, written in a fraction of the code.

Views@ObservableAnimationsNavigation
LAYER 04

UIKit

The battle-tested foundation beneath SwiftUI. When pixel-perfect control matters, we drop down a layer.

Cocoa TouchGesturesCollection views
LAYER 03

Media

Sound, motion and graphics. Gapless audio with AVFoundation, buttery transitions with Core Animation, raw GPU power with Metal.

AVFoundationCore AnimationMetalNow Playing
LAYER 02

Core Services

Data, sync and networking. Foundation, SwiftData, CloudKit and Swift Concurrency keep everything fast, fresh and in sync.

FoundationSwiftDataCloudKitasync/await
LAYER 01

Core OS

Darwin and the XNU kernel handle memory, threads and sandboxing, keeping every app safe and every user's data private.

DarwinXNUSandboxKeychain
LAYER 00

Silicon

Apple's chips power it all: the Neural Engine for on-device intelligence and the Secure Enclave for privacy.

A-seriesNeural EngineSecure Enclave
How an app is made

From ink
to App Store.

every step, in motion ↓
play btn!
01

Sketch

Every screen starts with a pen. Cheap to change, easy to throw away.

02

Design

Sketches become pixel-perfect screens, type and motion.

03

Code

Native Swift and SwiftUI, in modular packages that stay fast to build.

▸ Resolving packages
▸ Compiling Swift sources
▸ Linking SquareCast
▸ Signing app
✓ Build Succeeded
04

Build

Xcode compiles, links and signs everything into one tidy app.

testQueueAdvances()
testSleepTimerPauses()
testDeepLinkOpens()
testArabicLayoutRTL()
4 passed · 0 failed
05

Test

Unit and UI tests on real devices, in every language we support.

SquareCastPodcasts
GETOPEN
06

Ship

Into the App Store and into people's pockets. Then we keep polishing.

The toolbox
SwiftSwiftUIUIKitSwift ConcurrencySwiftDataCore DataCombineCloudKitAVFoundationCore AnimationMetalWidgetKit SwiftSwiftUIUIKitSwift ConcurrencySwiftDataCore DataCombineCloudKitAVFoundationCore AnimationMetalWidgetKit
XcodeSwift Package ManagerXCTestSwift TestingInstrumentsStoreKitApp IntentsPush NotificationsDeep LinksFirebaseLocalizationAccessibility XcodeSwift Package ManagerXCTestSwift TestingInstrumentsStoreKitApp IntentsPush NotificationsDeep LinksFirebaseLocalizationAccessibility
Selected work

Off the drawing
board.

first of many, promise!
iOS app · Coming soon

SquareCast

Podcasts with personality. Discover shows, line up your next listen, share the moments you love and catch up on the news.

SwiftUIAVFoundation12 Swift packagesEnglish · العربية
Explore SquareCast →
Ray is me. The pen is how I think. ✎

Let's build
your app.