Native iOS — Bothell, WA — Est. 2017

Native iOS apps that earn the home screen.

A small senior studio — a founder on every engagement — building native apps for teams that have tried hybrid and decided enough is enough. SwiftUI, Swift Concurrency, SwiftData — written by humans who write Swift every day.

100%Senior engineers
2017Founded
Wk 6First TestFlight build
Day 1You own the repo
9:415G
Roastery concept · No. 04
Today's pour.
Yirgacheffe KongaBright · jasmine · stone fruit$22
Sumatra LintongEarthy · cocoa · cedar$19

Concept · iOSStudio concepts, hand-built in code — not screenshots, not client logos.

The toolchain
  • SwiftUI
  • Swift Concurrency
  • SwiftData
  • CloudKit
  • WidgetKit
  • Live Activities
  • App Clips
  • watchOS 11
  • Mac Catalyst
  • StoreKit 2
Capabilities

Native, in depth. Not a list of frameworks on a slide.

The Apple platforms reward teams who go deep on six or seven primitives instead of dabbling in fifty. Here's what we use every day, and why.

01

SwiftUI, declarative end-to-end

We write SwiftUI as the primary view layer — never as a wrapper around UIKit. Composable, testable, and the only way to ship for every Apple OS at once.

SwiftUIObservableAnimatableLayout proto
02

Swift Concurrency over Combine

Structured concurrency with async/await, actors, and Sendable enforcement. No leaked closures, no callback pyramids, no Combine cargo-cult that nobody on the team understands.

async/awaitactorsSendableAsyncSequence
03

SwiftData + CloudKit sync

Local-first persistence that syncs through your iCloud account — no backend needed for a huge class of apps. We design the schema before we write a view.

SwiftDataCloudKitCKSyncEngineSchema migration
04

WidgetKit & Live Activities

Home Screen widgets, Lock Screen widgets, StandBy, Live Activities on the Dynamic Island. The surfaces that turn an app into a daily habit.

WidgetKitActivityKitStandByAppIntents
05

watchOS, iPadOS, visionOS

A SwiftUI-first codebase ships to every Apple platform with platform-conditional surface area. We design the Watch and iPad experiences as first-class, not afterthoughts.

watchOS 11iPadOSvisionOSMac Catalyst
06

Performance you can feel

Instruments-driven perf work on every project. 120fps ProMotion timelines, sub-1.5s cold launch, allocation profiling, and explicit budgets enforced in CI.

Instrumentsos_signpostMetricKitXCTest perf
Signature · ship discipline

Every commit, in TestFlight by lunchtime.

Continuous delivery isn't a buzzword on iOS — it's how you actually ship. Our standard CI pipeline runs on every push: unit + UI + Watch tests, perf budgets, SwiftLint, code-sign, archive, upload. Below: a simulated snapshot of the pipeline we set up on every project.

odins3-ci · concept-ios · mainRunner: macOS 15 · Xcode 16.2Simulated

Recent builds

4.2.0 (284)iPhone app · 9m ago · running
3.7.1 (412)iPad target · 1h · passed
2.0.4 (88)iPhone app · 4h · passed
1.1.0 (12)Watch app · 1d · passed
4.1.9 (283)iPhone app · 2d · failed
4.1.8 (282)iPhone app · 3d · passed
Build #284Passed19.4s · 0 errors
Cold launch p501.21sbudget 1.50s · −19.3%
Coverage84.2%▲ 0.3% vs main
Crash-free99.97%last 7d · 38.4k sessions

Cold launch p50 · last 28 builds (ms)▼ trending down

~ build #284 log

14:02:11 xcodebuild -workspace App.xcworkspace -scheme App -destination "iPhone 16 Pro"14:02:12 Resolving package dependencies (12 packages)…14:02:14 Compiling Swift module App (286 source files)14:02:31 ✓ Build succeeded · 19.4s · 0 errors · 0 warnings14:02:32 Running tests on iPhone 16 Pro (iOS 18.2)…14:02:48 ✓ AppTests: 248 passed (16.1s)14:02:49 ✓ AppUITests: 32 passed (8.4s)14:02:50 ✓ AppWatchTests: 64 passed (4.0s)14:02:51 SwiftLint: 0 violations14:02:51 Code coverage: 84.2% (+0.3% vs main)14:02:52 os_signpost analysis · cold launch p50: 1.21s14:02:53 os_signpost analysis · main thread blocks: 014:02:54 Archiving App.xcarchive (Release-Distribution)…14:03:09 ✓ Archive succeeded · 14.7s14:03:10 Validating asset catalog · App Icon → ✓14:03:11 Code-signing with "Apple Distribution: Odins3"14:03:14 Uploading to App Store Connect (App 4.2.0/284)…14:03:38 ✓ Uploaded 28.4 MB · accepted by App Store Connect14:03:39 ⤷ TestFlight processing…
Concept work · capability demonstrations

Three concepts, built the way we'd ship them.

These are studio concepts, not client logos — three very different briefs, designed and rendered by us to show how we think about native iOS. Every screen below is hand-built, exactly the way we'd build the real thing.

Concept · iOS
9:415G
Friday · Mar 14
Morning, Astrid.
RecoveryBuild day · TempoSleep 7h32m · HRV 64ms
10Lake Sammamish loop10.2 km · easy5'04"
8Bothell Valley intervals8 km · 6×800m4'12"
5Recovery shake-out5 km · zone 16'02"
RunningiPhone + Watch + Widgets

A training-app concept for runners who're done with feed-style fitness apps: adaptive coaching, on-watch live workouts with haptic cues, recovery-aware planning.

SwiftUIHealthKitwatchOSLive ActivitiesWidgetKit
3
Apple surfaces
120fps
ProMotion target
HealthKit
Data source
Concept · iOS
9:415G
Total assets · USD
42.8M
▲ $284,400 · +0.66% · today
Equities58%Fixed inc.22%Alts20%
BBerkshire Hath. B2,840 shares+1.42%
MMicrosoft1,200 shares+0.84%
NNestlé SAEUR · 1,800 sh−0.31%
VVanguard Total Bond42,800 shares+0.12%
Private bankingiPhone + iPad

A concept for a private bank's client companion: net worth across custodians, trust governance, FaceID-locked access, and a quiet, slow design language.

SwiftUISwiftDataCryptoKitSign in with AppleCharts
2
Apple surfaces
FaceID
App lock
Charts
Swift Charts
Concept · iOS
9:415G
Tuesday · 14 March
Settle into today.
Mood · 7dSteady
Morning · 6:42
First quiet hour with the window cracked. The garden is already loud.
Midday · 12:18
Walked the loop without my phone. Came back with three sentences.
Evening · 21:04
A small pour, the long book, and the lamp turned warm.
JournalingiPhone + StandBy

A slow-journaling concept. SwiftData + CloudKit sync (no backend), end-to-end encrypted entries, and a StandBy mode that turns the iPhone into a bedside reading lamp at night.

SwiftUISwiftDataCloudKitStandByApp Intents
0
Backend needed
E2E
Encrypted entries
CloudKit
Sync
Platforms · one codebase, five surfaces

iPhone, iPad, Watch, Mac, Vision — designed per surface.

SwiftUI lets one codebase ship to every Apple platform — but only if the team treats each surface as first-class. We design Watch and iPad experiences from day one, not as a port.

  • iPhone
  • iPad
  • Apple Watch
  • Mac Catalyst
  • visionOS
1

Codebase

One Swift package graph, shared models, view-layer adaptive per surface.

5

Apple OSes

iOS, iPadOS, watchOS, macOS (Catalyst or AppKit), visionOS — with platform-conditional UX.

80%+

Code shared

The architecture target: models, persistence, networking, business rules shared — only the view layer diverges.

120fps

ProMotion

Animations and gestures budgeted for 8.3ms frame time. Profiled in Instruments, enforced in CI.

Standards · what we hold ourselves to

No borrowed logos, no invented stars. Guarantees, in writing.

We'd rather show you what we're accountable to than a wall of testimonials. Every guarantee below goes into every contract — and our clearest proof of capability is the production platform we built and run ourselves.

The proof we can put our names to: we designed, built, and operate a production SaaS platform — billing, auth, media, transactional email, community, SEO reporting. The same people who run it are the team on your project.
Cindy Lugnuits & Sam KishlineCo-Founders · Odins3
100%
Senior engineers
No hand-offs — a founder on every engagement.
2017
Founded
Bothell, Washington. Same core team since.
1
Production SaaS
Built and operated by us — end to end, in production today.
Day 1
You own the repo
Your org from the first commit. No lock-in, ever.
The guarantees · in every contract
Weekly demosEvery Friday · working build
A founder on every projectDirect line · no account layer
Senior engineers throughoutStart to ship · no outsourcing
One-business-day repliesFrom an engineer · not sales
Process · 14–16 weeks · then forever

How we ship — laid out, week by week.

Most studios are a black box. Ours isn't. Here's the exact rhythm of a typical engagement from kickoff to retainer. No surprises, no agency theater.

Phase 01

Discovery & product strategy

We don't write Swift in week one. We map the audience, define what 'success' is one year out, then make hard scope cuts before code is cheap to delete.

Wk 1–2
Phase 02

Information architecture & flows

Tab bar architecture is decided here, not in week ten. We prototype the four most-used flows in code-quality Figma and walk you through them on a real device.

Wk 3–4
Phase 03

Design system in SwiftUI

We build the design system as a Swift package, not a Figma file. Tokens, typography, color, motion specs, and a SwiftUI component library — usable from the first feature build.

Wk 5–7
Phase 04

Native engineering

In TestFlight from week six. Two-week sprints, each ending with a build in TestFlight that your team uses. We ship to your hands, not to a staging URL nobody opens.

Wk 6–14
Phase 05

Launch — App Store · marketing · ASO

Submission isn't a checkbox. We write your store copy, shoot the screenshots, cut the App Preview videos, brief PR, and submit to Apple Editorial for featuring consideration.

Wk 14–16
Phase 06

Retainer — keep shipping

Launch is the start, not the finish. Our retainer: senior engineers, fixed weekly hours, fixed price. New features ship every two weeks, indefinitely.

Ongoing
After launch

We don't disappear after go-live.

Most agencies ship and vanish. We built three simple retainers so you can keep us around at the level that matches your team — from a light monthly cadence to embedded leadership.

One-time
Handoff

Launch, runbook, training — and we're off. Great if your team can own it from here.

  • Production launch + DNS
  • CMS training sessions
  • Runbook + Loom library
  • 30-day bugfix warranty
Included with every buildMonth 0
Embedded
Steward

We plug into your team as fractional design + engineering leadership.

  • Dedicated senior designer + engineer
  • Weekly planning + demo
  • Roadmap co-ownership
  • Hiring + interview support
  • Full Figma + repo access
Minimum 6 monthsFrom month 2
Questions · honest answers

What founders ask before they hire us.

If something here is unclear, mail support@odins3.com — a senior engineer (not a salesperson) will reply within one business day.

Do you build hybrid apps with React Native or Flutter?

No. Our team writes native Swift every day. Hybrid frameworks make economic sense for some teams and some apps — but if the brief is "App Store-quality experience on iOS," native SwiftUI wins on every dimension that matters: animation fidelity, system integrations, store featuring, and long-term maintenance cost. If you specifically want hybrid, we can refer you to a studio we trust.

How long does a typical iOS project take?

12–16 weeks from discovery to App Store approval for a single-platform iPhone app. Add 2–3 weeks for a serious watchOS or iPad experience, 3–4 weeks for visionOS. Most apps go into TestFlight by week six — your team is using it long before launch.

What does a project cost?

A new iPhone app from us is typically $120k–$280k for the build, depending on backend complexity, watchOS scope, and design ambition. Post-launch, ongoing engineering runs on a monthly retainer, typically $14k–$22k/month. We do not do hourly billing.

You're in Bothell — can you work with teams elsewhere?

Yes. Our HQ is in Bothell, Washington (north of Seattle), and we work with remote teams as readily as local ones. We do on-sites for retained clients within driving distance, and every project gets a founder involved from kickoff — in person when geography allows.

Can you take over an existing iOS codebase?

Yes. Take-overs start with a one-week paid technical audit: build health, architecture, dependency review, perf baseline, App Store submission status. We deliver a written report with a plan and a fixed cost to either continue or refactor — and the report is yours to keep even if you take it elsewhere.

Do you offer App Store Optimization (ASO)?

Yes — it's part of every launch. Keyword research, store copy, screenshots, App Preview videos, A/B tests on the product page, and an Apple Editorial submission for featuring consideration.

Who owns the source code?

You. Always. We deliver into your GitHub or Bitbucket org from day one. Apple Developer enrollment is in your name; certificates and provisioning live in your org. There is no Odins3 lock-in, ever.

What about Android?

Yes — we build Android too, in Kotlin and Jetpack Compose. When a project runs both tracks, the same product and design leads cover both surfaces, so the apps feel like one product. See our /android-development page for how we approach it.

Start a brief

Tell us what you're building.

Six quick steps, two minutes. A senior team member reads every brief — not a form auto-router — and replies within one business day.

Step 1 of 6

Tell us about your company.

The basics — so we walk into the call already halfway up to speed.