Open to side projects & contract work
Founding Engineer · Forward Deployed · 2024–2026

I find the problem, ship the product, and own it in production.

At a dermatology clinic seeing 70 patients a day, I built an AI scribe against the documentation bottleneck and got it featured as a customer case study on Omi. Same-day chart completion moved from 60% to 95%. Since: six AI products shipped — four Omi agents (2,200+ users) and two native iOS apps in public beta.

Scroll
01Featured work

Graham Dermatology × Omi

An always-on AI scribe for a clinic seeing 70 patients a day. Structured prompts, EMR-compatible note generation, and a workflow clinicians actually use. Deployed 2024–2025; case study published November 2025.

Same-day charts
60%95%
Note error rate
15–20%<3%
Time saved
3–4hrs / clinician / wk
Throughput
70patients / day

“Our notes are way more accurate and complete — no longer dependent on someone’s good or bad day. The AI gives us the same high-quality structure every time.”

— Eulices Lopez, as quoted in the Omi case study
What I owned

Records, transcribes, and generates structured HPI notes matched to the clinic’s EZDERM EMR templates. HIPAA-compliant. Used daily by doctors, nurses, and medical assistants.

Full case study on omi.me
02Native iOS · public beta

Built end-to-end. Installable today.

Two native iOS apps, architected and shipped to TestFlight. No operated backend, no analytics pipeline, no tracking — privacy-first from the ground up.

Lumen icon

Lumen Personal AI

SwiftUI · iOS 26 · iPadOS 26

Privacy-first AI assistant for iPhone and iPad. Apple Intelligence on-device by default, optional Ollama local or cloud. Conversation search, memories, document import, voice input, image attachments, and built-in tools.

Join the beta on TestFlight
Lumen conversation view on iPhone
N.O.V.A. home screen on iPhone
N.O.V.A. icon

N.O.V.A. AI

React Native · Expo SDK 54 · Swift modules

Private-by-default iOS AI assistant. Dual on-device inference (Apple Foundation Models + Ollama), 8 custom Swift modules, Live Activities, Vision OCR. Comprehensive test suite, ~5,000 LOC of native Swift.

Join the beta on TestFlight
03Deep dive · N.O.V.A.

The native half of “React Native.”

Most “React Native” apps lean on JavaScript wrappers. N.O.V.A. ships 8 custom Swift modules — real platform integration, not Expo plugins — plus a test suite guarding every change.

1,800+
tests passing · 28 suites
~5,000
LOC native Swift · 8 modules
21
screens · typed Expo Router
71
reusable components
Dual-provider inference · graceful fallback
live routing
Prompt
Apple Foundation Models
on-device
Response
Ollama
local fallback

Apple Intelligence runs on-device by default. When Foundation Models are unavailable, requests fall back to a local Ollama model — no dropped prompts, no developer-operated backend.

Native iOS modules
Foundation ModelsLive ActivitiesEventKit · RemindersEventKit · CalendarVision · OCRSpeechSiri ShortcutsNative chat inputActivity controller
Architecture
  • Dual AI provider with graceful fallback — Apple Intelligence → Ollama
  • Local-first state: Jotai atoms + MMKV + iOS Keychain
  • Clean deep-link migration — legacy scheme → novaai, backwards-compatible
  • Cross-platform stubs — .web.ts shadows so the app builds on web for testing
hooks/use-ai.tsFoundation Models → Ollama fallback
// pick the usable provider, fall back cleanly
function getAIProviderStatus(aiProvider, ollamaStatus, fmAvailable) {
  const selected   = aiProvider?.provider ?? AIProvider.FOUNDATION_MODELS;
  const usable     = selected === AIProvider.FOUNDATION_MODELS && fmAvailable;
  const effective  = usable
    ? AIProvider.FOUNDATION_MODELS
    : AIProvider.OLLAMA;
  const fallback   = !usable && ollamaStatus === ConnectStatus.SUCCESSFUL;
  return { selected, effective, fallback };
}
Source private — full file shared in interviews.
Running on device
N.O.V.A. advanced settings
Settings · Advanced — 12 tool permissions, Calendar + OCR + Memory granted
N.O.V.A. Get Reminders tool
EventKit in use — Get Reminders via native iOS Reminders bridge
N.O.V.A. code rendering
Code rendering — syntax-highlighted markdown, Hello World → Fibonacci
04On the Omi platform

Four apps. 2,200+ installs.

Two clinical workflow tools for dermatology practices and two consumer AI assistants. Each one is live, installed, and getting used today.

NEVA Dermatology Assistant

AI scribe for medical dermatology. Generates structured progress notes from provider–patient transcripts, matched to EZDERM EMR templates.

110+ installs5.0 rating

NEVA Cosmetic Assistant

AI scribe specialized for cosmetic dermatology consults. Captures procedure documentation and structured consultation notes.

90+ installs5.0 rating

Brain

Personal AI memory assistant that turns everyday conversations into a searchable knowledge graph.

900+ installs

J.A.R.V.I.S.

Voice-activated, context-aware AI companion. Surfaces reminders, calendar context, and ambient assistance.

1,100+ installs
05Stack

Tools I reach for.

PythonFastAPILLMs / Prompt EngineeringSwiftSwiftUIReact NativeExpo SDK 54TypeScriptApple Foundation ModelsOllamaVision / OCREventKitLive ActivitiesJotai + MMKVNLPKnowledge graphsHIPAA workflowsEMR-compatible output
CI / CD pipeline
TypeScript strictESLintJestCodeQLDependency review
06Get in touch
Currently building full-time — open to the occasional side quest

Off the clock, still shipping.

Happily heads-down in my current role — but the itch to build doesn’t clock out. I take on select contract work and team up on side projects in my spare time. Especially anything where a real user’s workflow is on the line.

Contract & freelanceSide-project collaborationsApplied-AI experiments