Ian Norris.
AI · iOS · Full-Stack.

I build AI features that ship to real users — not demos. I've shipped a generative-AI app to the App Store and built the LLM pipelines and full-stack systems that power it.

users on my shipped iOS app
3Kusers on my shipped iOS app
crashes in production
0crashes in production
users served at AssetMark
10Kusers served at AssetMark
GPA · M.S. Mathematics
4.0GPA · M.S. Mathematics

AI Engineering

Applied AI that ships to real users

A generative-AI photo editor live on the App Store, plus Trace's server-side Claude pipeline that turns a dropped pin into a written run. Led a 5-person team that lifted an LLM evaluation system from 50% to 96% accuracy — on an M.S. Mathematics (4.0) foundation.

Claude APIOpenAI APIPrompt engineeringLLM evaluationPyTorchCloudflare Workers

iOS Development

Shipped to the App Store, not just a demo

Sole engineer behind a published SwiftUI app: 3K users, zero crash rate, sub-6s cold start, on-device image processing, and an offline-first cache. Comfortable from concept to App Store Connect.

SwiftSwiftUIUIKitSwift ConcurrencyInstrumentsApp Store Connect

Full-Stack

From the UI down to the database

React/TypeScript frontends on .NET Core and PostgreSQL backends, serving 10K users in production. RBAC, REST APIs, and 85% test coverage.

ReactTypeScript.NET CoreEntity FrameworkPostgreSQL

Selected work

Projects

Shipping products across applied AI, mobile, and the web. Filter by the kind of work you care about.

AIiOS
2025

AI Photo Editing

A generative-AI photo editor, shipped solo to the App Store.

An iOS app for editing photos with generative AI — built as the founding product of AI Editor LLC. I took it from concept to App Store publication as sole engineer in under three months. It now has 3K users and a zero crash rate across every production release.

  • 3K users · zero crash rate · sub-6s cold start · ≤500 MB peak memory
  • Offline-first with on-device image processing and caching; AI features via the DeepAI API
  • Profiled and fixed performance bottlenecks with Xcode Instruments; full unit + UI test suite and an App Store CI/CD pipeline
SwiftSwiftUISwift ConcurrencyDeepAI APIOn-device MLCI/CD
Private repoLive
AIiOS
2026

Insight

A native macOS meeting assistant built on a real-time, on-device speech-to-LLM pipeline.

A native macOS app that listens to a live meeting and surfaces a single, well-timed suggestion rather than a running feed. I built the full real-time pipeline: system and microphone audio captured and transcribed on-device with WhisperKit, then streamed as rolling context to an LLM through a provider-agnostic client layer. The result renders in a floating overlay only the user can see. Built and shipped solo as an AI Editor LLC product; now in open beta.

  • Captures system and microphone audio and transcribes it on-device with WhisperKit through a custom batching pipeline with speaker-aware segmentation
  • Streams the rolling transcript as context and prompts the model to return one high-signal suggestion rather than a constant stream
  • Event-driven Swift 6 architecture (actors, async streams); floating overlay excluded from screen capture, with API keys stored in the macOS Keychain
Swift 6SwiftUIWhisperKitStreaming LLM inferenceMulti-provider LLM (BYOK)Prompt engineeringScreenCaptureKitSwift Concurrency
AIiOS
2026

Trace

An AI-native travel app for runners — runs as destinations, not routes.

An app where every entry is a run with a story — a curated, Atlas Obscura-voice feed of iconic and hidden runs worldwide, plus a 'generate me a local run' feature: drop a pin, pick a distance and a vibe, and a Cloudflare Worker stitches a real walking loop through nearby POIs (Google Places + Directions) and has Claude write it up. I built it in two stacks: a native SwiftUI version and a cross-platform React Native (Expo) version running on iOS and Android — both implementing the same product spec.

  • Built in two frameworks from one product spec — native SwiftUI for iOS, and React Native (Expo) running natively across iOS and Android
  • Server-side generation pipeline keeps API keys off-device and produces identical results on every platform
  • Local-first state: bundled JSON for curated runs, AsyncStorage for saved + generated runs — no accounts, no server state
SwiftSwiftUIReact NativeExpoTypeScriptCloudflare WorkersClaude APIGoogle Maps APIs
AI
2026

LLM Evaluation & Distillation

Led a 5-person team from 50% to 96% accuracy in Terence Tao's SAIR challenge.

Our entry in the SAIR Foundation Mathematics Distillation Challenge (organized by Terence Tao and Damek Davis): engineer a 1 KB plain-text instruction sheet that helps a small open model correctly decide equational implications over magmas, drawn from the 22M-pair Equational Theories Project. I led a 5-person team and built the evaluation harness driving it.

  • Led a 5-person team and built the evaluation methodology, metrics, and benchmark
  • Raised accuracy from 50% to 96% on a 300-problem benchmark, focusing on the hard subset where most teams plateau
  • Exploited structural priors (≈63% FALSE base rate, ~32% singleton laws); Stage 2 extends to machine-verifiable Lean 4 certificates
PythonJupyterLLM evaluationPrompt engineeringOllama
Full-Stack
2025

User Group Management System

Full-stack RBAC admin tool — .NET 8 API + React/TypeScript frontend.

A full-stack web application for managing user groups, permissions, and custom attributes within an organization. RESTful .NET 8 backend, modern React + TypeScript frontend, PostgreSQL storage, and clean architecture with maintainable testing patterns.

  • End-to-end CRUD: search groups, manage read/write/delete/execute permissions, configure attributes
  • Clean-architecture backend with a minimal, maintainable test suite
C#.NET 8ReactTypeScriptPostgreSQLREST
Private repo
Full-Stack
2026

P2P VPN

A peer-to-peer VPN where every user can also be an exit node.

A WireGuard-based VPN (an AI Editor LLC project) where users connect as clients or serve as exit nodes for others. A native Android client in Kotlin pairs with Go backend services; the tunnel implements the WireGuard handshake with dynamic key exchange and forwards both TCP and UDP traffic.

  • Exit node runs via BoringTun with no root required; client uses the WireGuard Android library
  • Verified end-to-end: HTTPS browsing and DNS resolution work through the peer tunnel
KotlinAndroidGoWireGuardBoringTunNetworking

About

A bit about Ian

Ian Norris

Ian Norris

AI & iOS Engineer · Flagstaff, AZ

I'm an AI and iOS engineer who ships. As founder of AI Editor LLC, I designed, built, and published AI Photo Editing — a generative-AI photo editor — to the App Store as sole engineer in under three months, now 3K users with a zero crash rate across every production release. My AI work runs deeper than API calls: a server-side Claude pipeline in Trace that turns a dropped pin into a written run, and a 5-person team I led that lifted an LLM evaluation system from 50% to 96% accuracy. I also work across the stack — at AssetMark (financial services) I built end-to-end features in React/TypeScript, .NET Core, and PostgreSQL for a platform serving 10K users — all on a research-grade quantitative foundation: an M.S. in Mathematics (4.0 GPA).

Location
Flagstaff, AZ
Focus
AI · iOS · Full-Stack
GitHub
@ian52n

Experience

  1. Lead Engineer & Founder

    AI Editor LLC · Remote

    2025 – Present

    • Designed, built, and shipped AI Photo Editing (iOS) to the App Store as sole engineer in under three months — 3K users, zero crash rate, sub-6s cold start.
    • Built and shipped Insight (open beta), a native macOS meeting assistant: real-time on-device transcription (WhisperKit) streamed to a provider-agnostic LLM layer, surfaced in a screen-capture-excluded overlay.
    • Building a peer-to-peer VPN with a native Android (Kotlin) client and Go backend services.
  2. Full-Stack Engineer

    AssetMark · Concord, CA · Financial services

    2025

    • Built end-to-end features across React/TypeScript, .NET Core (C#) with Entity Framework, and PostgreSQL for a platform serving 10K users, at 85% unit-test coverage.
    • Designed a scalable RBAC permission schema and shipped a legacy-integration layer (iframe + postMessage) bridging ASP.NET and new .NET Core/React apps.
  3. Software Engineer

    Practice Defenders · Remote · Electronic health records

    2025

    • Built API integrations and automation pipelines across external EHR systems, focused on reliability and consistent data handling across distributed services.
  4. Software Developer (Volunteer)

    AESOP Afghanistan · Remote

    2023 – 2024

    • Built Python backend services and API-driven workflows (Google APIs); refactored legacy systems and introduced automated testing.
  5. Graduate Teaching Assistant

    Northern Arizona University · Flagstaff, AZ · Mathematics

    2024 – 2026

    • Taught and mentored undergraduate mathematics students, and mentored student teams in the DataFest data-science competition.

Education

  1. M.S. Mathematics, With Distinction

    Northern Arizona University · Flagstaff, AZ

    May 2026 · GPA 4.0

  2. B.S. Mathematics

    Northern Arizona University · Flagstaff, AZ

    GPA 3.8

    • Published: “Biased weak polyform achievement games,” DMTCS, 2014.

Toolbox

Skills & technologies

The stack I reach for, grouped by domain and ordered strongest-first.

Languages

  • Swift
  • Python
  • TypeScript
  • C#
  • Go
  • Kotlin
  • C++
  • Julia
  • SQL

iOS & Apple

  • SwiftUI
  • UIKit
  • AppKit
  • iOS SDK
  • macOS
  • Swift Concurrency
  • ScreenCaptureKit
  • AVFoundation
  • MapKit
  • Core Location
  • Xcode Instruments
  • App Store Connect
  • Sparkle

Cross-Platform Mobile

  • React Native
  • Expo
  • React Navigation
  • react-native-maps
  • AsyncStorage
  • Android
  • Gradle

Web & Backend

  • React
  • .NET Core
  • ASP.NET MVC
  • Entity Framework
  • Node.js
  • REST APIs
  • PostgreSQL
  • Cloudflare Workers

AI & Data Science

  • LLM integration
  • LLM evaluation
  • Prompt engineering
  • Claude API
  • OpenAI API
  • Gemini API
  • Groq API
  • WhisperKit
  • Speech-to-text
  • PyTorch
  • NumPy / Pandas
  • On-device ML
  • NLP

Practices & Tooling

  • Git
  • Docker
  • CI/CD
  • GitHub Actions
  • AWS
  • Linux
  • Unit & UI testing
  • Agile / Scrum

Contact

Let's build something.

I'm open to AI, iOS, and full-stack roles. The fastest way to reach me is email — happy to share more work, a resume, or hop on a call.