Job Description:
You’ll be the technical owner of our backend inference platform that standardizes color science and computer vision decisions across iOS and Android. You’ll design and ship APIs, async workers, and secure data flows that ingest tattoo images, run segmentation + CIE Lab analysis + rules/ML decisioning, and return explainable, versioned recommendations for laser wavelengths.
Responsibilities:
- Own the API (FastAPI): /uploads/sign, /v1/analyze (sync/async), /v1/analyze/{job_id} with OAuth2/JWT and idempotency.
- Build the pipeline: S3/MinIO → preprocessing (OpenCV) → segmentation (ONNX Runtime) → CIELAB/ΔE00 → rules/ML → risk flags → PDF report. Async processing: Celery + Redis (or SQS) workers, retries, backoff, idempotent jobs.
- Model portability: integrate ONNX Runtime (CUDA/TensorRT if GPU is present); consume models exported from PyTorch; expose model_version/ruleset_version in results.
- Observability & reliability: Prometheus/Grafana, OpenTelemetry tracing, structured logs, Sentry; P95 latency and error budgets.
- Security & compliance: presigned URLs, KMS-encrypted buckets, least-privilege IAM, audit logs, configurable data retention; consent flags and region pinning.
- Documents & tests: golden-vector tests for ΔE2000, contract tests for API, load tests; clear runbooks.
- Collaborate: work with Mobile, ML/CV, QA, and a clinical advisor to keep outputs explainable and safe
Qualification:
Python 3.10+, FastAPI, async I/O, Pydantic v2
- Celery (or equivalent) + Redis/SQS; job orchestration at scale
- Object storage (S3/MinIO) with presigned uploads; Postgres (SQLAlchemy/Alembic)
- OpenCV-Python for image I/O, morphology, color conversions
- Colour-Science / colormath or equivalent for XYZ↔Lab and ΔE2000 (accuracy matters)
- ONNX Runtime (Python) for inference; experience wiring exported PyTorch/TF models
- Auth & security: OAuth2/JWT, role-based access, encryption at rest/in transit
- Containers & CI/CD: Docker, GitHub Actions; environment promotion and secrets management
- Solid testing culture: unit, integration, load; reproducible builds and migrations
Job Type: Full-time
Work Location: In person