← All roles
ModelsRemote · Pacific time overlapFull-time contractorCompetitive salary

ML Engineer — Image Models

Own the image generation and edit stack: model selection, fine-tunes, inference plumbing, and the editor-facing APIs that drive every ad creative we ship.

About the role

Image models are the product.

HawtAds is an ad creative studio. Marketing teams use it to generate, edit, and ship ad creatives to Meta, TikTok, and the app stores. Image models sit at the centre of that — they are what people actually pay us for.

We use a mix of frontier hosted models and fine-tunes we own. As image quality moves week to week, the team that can pick the right model, route around its failure modes, and tune it for the things ad creatives actually need (typography, product fidelity, brand reference, NSFW gating) wins. That team is what we are hiring you to lead.

What you own

The whole stack, end to end.

  • Pick the image generation and edit models the editor uses by default and per workflow. Defend the choice with evals, latency budgets, and cost.
  • Run fine-tunes (LoRA, DreamBooth, full-FT where it makes sense) on our reference asset corpus to improve brand fidelity, logo handling, and product accuracy.
  • Build and maintain the eval harness: paired golden sets, automated metrics, blind human review, regression alerts when a provider rolls a new version.
  • Design the provider-agnostic inference layer: routing, fallback, prompt rewriting, safety classifiers, NSFW gating, retries, and per-tenant cost ceilings.
  • Partner with the editor team on the request/response contract — knobs we expose, how we surface uncertainty, how edits compose.
  • Hold the budget on inference cost and latency. Both are product features.

First six months

A real shape, not a fluff list.

Calibrated to real deliverables, not busywork. You ship in week one; the harder ownership questions land later.

  1. Week 1–2

    Ship a real change to a model route or prompt template in production. Sit in on customer sessions. Read the existing eval harness and tell us where it lies to us.

  2. Month 1

    Own the eval harness. Pick one workflow (edits, generations, reference compositing) and propose a model selection + fine-tune plan with a defended budget.

  3. Month 3

    Default model loadout for at least one workflow is yours. Cost or quality has moved in a way customers and the P&L can feel.

  4. Month 6

    You own the image stack end-to-end: routing, fine-tunes, evals, safety, and the editor contract. New providers integrate cleanly against a layer you designed.

What you bring

Required.

  • 3+ years shipping ML in production. Not research-only. You have been on call for a model.
  • Hands-on with diffusion image models — Stable Diffusion / SDXL / Flux family, ControlNet, IP-Adapter, LoRA training. You can read a paper and ship from it inside a week.
  • Comfort with a foundation-model API budget: you have made hard cost/quality trades on real traffic and can explain them.
  • Solid Python and a willingness to live in TypeScript at the API boundary. PyTorch fluency expected.
  • Strong written communication. We decide in docs. If writing is painful for you, this will be too.
  • Taste for evals. You distrust vibe checks and you have built harnesses that catch regressions before customers do.

Nice to have

Helpful, not required.

  • Experience fine-tuning image models on brand or product corpora (e-commerce, fashion, gaming assets).
  • Worked on NSFW classification, safety routing, or platform-policy compliance for generative imagery.
  • Inference optimisation: quantisation, batching, GPU scheduling on Modal / Replicate / Runpod / your own boxes.
  • Shipped a feature that touched both the model and the UI that exposes it.
  • Background in ads, design tools, or any product where the model output is the product.

Stack you will touch

Honest list, no buzzwords.

You do not need to have used all of these. You need to be the kind of engineer who picks them up fast.

Models
Flux, SDXL, Imagen, Nano-Banana, in-house FTs
Inference
Modal, Replicate, custom workers
Training
PyTorch, diffusers, accelerate
API surface
Next.js (App Router), TypeScript
Data
Postgres + Prisma, R2 for assets
Observability
Sentry, custom evals, OTel

How hiring works

Short loop. Real work.

We do not run gauntlets. The process is calibrated to give us both real signal without wasting weeks of your life.

  1. Apply

    Send a CV plus a short note: one image-model decision you have shipped, what you traded off, and what you would do differently. No cover letters.

  2. Intro

    45 min with the founder. We talk about what you would own, why now, and whether we are mutually serious.

  3. Deep dive

    A take-home, around 6 hours, on a real problem from our stack.

  4. Onsite (remote)

    Two sessions: a review of the take-home with the team, and a system-design conversation about the inference layer you would build.

  5. References + offer

    Two references of your choosing. Offer follows within a week of the onsite.

Sound like you?

Apply for ML Engineer — Image Models.

Send a short note about one image-model decision you have shipped. That is what we read first.