Portland · Remote-first · Python / FastAPI / AI platform
Andrew White Jr.
Self-taught · production-scarred · 79 services deep
12+ years in trades and facilities maintenance before software. 18 months running a multi-service distributed platform solo as my daily-driver dev environment. I went the long way around and I know why "production" is a weight, not a phrase.
Portfolio snapshot: engineering claims and counts below describe documented builds as of April 16, 2026; they do not imply that every system is currently public or commercially available.
What I've built (solo, in production, last 18 months)
01
79 FastAPI services, running 24/7
Each on its own port, heartbeat-based health checks, HMAC-authenticated internal auth, live schema migrations under load.
02
Multi-provider LLM router
Anthropic · OpenAI · Google · DeepSeek · Ollama · Grok · Perplexity · Kimi. Per-provider circuit breakers (3 failures → 120s cooldown → recovery probe), cost-aware failover, OpenAI-compatible gateway.
03
111-feed real-time intelligence aggregator
Crypto prices, social trends, RSS, news, structured APIs into unified SQLite store. Per-feed staleness detection. Push alerting via Discord + Pushover + email.
04
Multi-brand Flask storefront
Stripe live billing, Ghost CMS publishing via hand-rolled HMAC-SHA256 JWT (no library), zero-downtime schema migrations, external marketplace deep-linking.
05
Patient-facing health tooling
I'm an end-stage renal disease patient. Recipe macro engines on USDA FoodData Central, clinical handout generators I draft for my own dietitian, medication-conflict scanners, dialysis fluid trackers. I know what's broken in patient-facing health tech because I'm the user.
06
Local AI media stack
ComfyUI + Stable Diffusion / Flux / Wan / Qwen-Image / HiDream with fallback to hosted providers (Replicate, Together, Gemini Imagen) when local GPU saturates.
Scars I earned (in chronological order)
- 555 MB / 189K-row SQLite indexer: recovered from "database is locked" production failure by tuning busy_timeout + switching to WAL mode. I have real scars around concurrent writers.
- Timing-safe HMAC bearer auth: the kind of detail you only bake in after a timing-attack bite. All internal service calls use it.
- Hand-rolled HMAC-SHA256 JWT for Ghost CMS Admin API: I read the RFC and implemented primitives instead of pulling a library. Kept the dependency footprint clean and now I actually understand JWT.
- Zero-downtime schema migrations on a Stripe-billing Flask app: add column → backfill → flip → drop old. The same playbook ports to Postgres with bigger-team tooling.
- PHI-safe LLM routing: health-domain prompts force to local Ollama instead of cloud APIs, regardless of which provider is faster. Policy-as-code primitive that matters in regulated domains.
Resume variants (pick the one that matches the role)
| # | Variant | Lead with | Best for |
|---|---|---|---|
01 | AI Platform Engineer | Multi-provider router, LLM observability | Anthropic, OpenAI, Modal, Together, Replicate, Fireworks, Baseten, Perplexity |
02 | Backend / Full-stack | FastAPI + Flask + SQLite + Stripe | Supabase, Linear, PostHog, Vercel, Stripe, Shopify, Nike DTC |
03 | DevOps / SRE | 79-service supervision, heartbeat observability | Grafana Labs, Sentry, Datadog, Fly.io, FetLife, Cloudflare |
04 | Healthcare AI | Patient-builder, PHI-safe routing, USDA FoodData | Hinge Health, Solace Health, Turquoise Health, Providence, OHSU, Proven Software, Tempus, Verily |
05 | Data / Indexing | 555 MB recovery, 111-feed aggregator, schema migrations | Snowflake, ClickHouse, MongoDB, Voxel51, Northbeam, Trace Labs |
06 | Trades → Tech | 12+ years facilities + software transition narrative | TriMet, PGE, municipal, utilities, facilities-adjacent tech |
Why I disclose this up front
I'm on hemodialysis three mornings a week (Tue / Thu / Sat, Portland, OR). I work productively around it with remote-first async or flexible-hours hybrid, and I'd rather mention it in line one than in week three. The medical reality is why I'm precise about what "shipped" means — if it's still running tomorrow, it shipped.
Quick links
How I'd spend my first two weeks on your team
Read the code, shadow oncall, learn the deploy path end-to-end, and find one real bug to fix before anyone assigns me one. I want the feel of "shipped here" before I try to decide what to build next. After that, ask me what's obviously broken and I'll tell you.
What I won't pretend
- No CS degree. Self-taught. If that's a dealbreaker, we've both saved time.
- TypeScript/React is read-and-ship competent, not day-one expert. I'd need a month to get to senior-frontend fluency. Python/FastAPI/backend is where I'm strong from day one.
- Kubernetes I've used at workstation scale (k3d). Production k8s I'd learn on the job — fast — because the underlying systems instincts are right.
- My GitHub looks quiet because most of my last 18 months lives in a private monorepo. Happy to walk through screenshots and architecture on a call.