Java • Python • Swift / iOS • AI/RAG • API • Tests · CI/CD

Open for Software / AI / Data Engineer roles

Published iOS developer · App Store

About me

I build Java backend services, Python data/AI pipelines, grounded RAG features, and native iOS apps shipped to the App Store. My work emphasizes reproducibility, on-device AI (Apple Intelligence + Core ML), and clear documentation so projects review well and run cleanly.

Apps shipped
16 live on the App Store
Projects shipped
15+ across Backend, Data & AI
Availability
Remote · Open to relocate
Portrait of John Doan
Quick summary
Target roles: Backend Software Engineer, AI Engineer, Data Engineer, or iOS Engineer. Open to teams that value shipping, reliability, and reproducible delivery.

  • Strengths: FastAPI + OpenAPI, SQL/ETL, RAG patterns, SwiftUI + on-device AI, reproducible runs, clear READMEs.
  • On the App Store: 16 apps live — Learn English: Pronunciation · Family Medical Refill · Three in a Row Duel · LCD Classic Snake · Job Trail Applications · Soccer 2026: Live Scores · US Citizenship Questions Prep · 503020: Budget Coach · Tabwise: Bills & Invoices · Cosmic Cadets · Streak Rings (iPhone · iPad · Apple Watch) · Price Trail: Drop Alerts · Toehold: Sudoku Explained · Homefolio: Home Inventory · Clean Sheet PDF · Stderr (Mac).
  • Now exploring: Apple Intelligence Foundation Models, AWS / Cloudflare, PostgreSQL, modern Python tooling (Ruff + uv).
  • Style: practical, measurable, reviewer-friendly projects.

Backend & API Delivery

I deliver backend APIs in Java and Python with production-minded defaults.

  • Service/repository layering with SQLite/JDBC persistence and REST endpoints.
  • FastAPI + Pydantic APIs with consistent validation and error handling.
  • Review-ready docs with OpenAPI/Swagger and clear run paths.

Data Pipelines & Quality

I build practical ETL pipelines that are easy to reproduce and review.

  • Raw-to-curated table flows for KPI reporting in DuckDB/SQLite.
  • Versioned artifacts with sanity checks to catch regressions early.
  • Simple scripted runs so reviewers can reproduce outputs quickly.

ML Prototypes (Project Work)

I prototype small, explainable ML and retrieval flows with transparent limits.

  • Clear inputs/outputs and logged runs for debuggable experiments.
  • Lightweight evaluation for quality checks and failure-case tracking.
  • Grounded responses with explicit limitations and reviewer clarity.

Native iOS & Swift

I design and ship native iOS apps to the App Store, with privacy-first defaults and on-device AI.

  • SwiftUI + SwiftData apps with offline-first storage and no tracking.
  • Apple Intelligence on device for grounded text generation; clean templates as graceful fallback.
  • TestFlight → App Store Connect delivery with versioning, release notes, and support pages.

Toolbox

Python Java Swift JavaScript TypeScript React Angular Vite HTML / CSS SwiftUI SwiftData Swift Concurrency Apple Intelligence Xcode Swift Testing TestFlight App Store Connect FastAPI Django Spring Boot Pydantic OpenAPI RAG Google Gemini (AI Studio · Vertex AI) AI agents (function calling · tool loops) Structured output (responseSchema) Embeddings On-device LLM SQL DuckDB SQLite Pandas scikit-learn Streamlit Docker Docker Compose Kubernetes Helm Terraform AWS GCP (Vertex AI · Cloud Run · BigQuery) Vercel GitHub Actions JUnit 5 pytest Playwright Bruno (Git-native) Structured logging Conventional Commits Git/GitHub

I emphasize reviewer-friendly delivery: consistent repo structure, clear READMEs, scripted runs, and (where applicable) lightweight tests and basic CI checks.

Currently learning

  • Cloud platform fundamentals: AWS Lambda + S3 + IAM, or Cloudflare Workers for edge deployment.
  • Testing discipline: JUnit 5 for Java and pytest for Python (API contracts + data transforms).
  • Grounded AI/RAG: retrieval quality, citations, and simple evaluation harnesses.
  • Reproducible delivery: tight run steps (1–3 commands), Docker when it reduces friction.
  • Operational habits: logging, configuration hygiene, and lightweight runbooks.

  • Grounding answers with citations and clear source passages.
  • Simple evaluation: failure cases, query coverage, and run logs.
  • Small UIs to make prototypes easy to demo.

  • Dependency pinning and safer configuration patterns.
  • Input validation and consistent error handling.
  • Keeping secrets out of code and using environment configs.
  • iOS app review workflows: signing, privacy manifests, App Store Connect metadata.
  • Apple Intelligence Foundation Models API for on-device LLM generation with graceful fallbacks.
I keep projects intentionally scoped, but implemented with “real engineering” habits: clarity, structure, and reproducibility.

Digital business card

Scan with your phone camera to add me to your contacts — or download the vCard.

QR code — scan to add John Doan (Independent Software Engineer) to your contacts
John Doan
Independent Software Engineer
Save contact (.vcf)
Works on iPhone and Android — the QR carries the full card (name, title, email, website), no internet needed.
View Projects Credentials Contact

Open to Software Engineer, AI Engineer, Data Engineer, or iOS Engineer roles — teams that value shipping, reliability, and reproducible delivery.