<p>source: LinkedIn</p><p><strong>Computer Vision & Backend Engineer (60-Day Build)</strong></p><p><strong>Company: WowNom</strong></p><p><strong>Type: Fixed-term contract (60 days, full-time) — extension possible</strong></p><p><strong>Location: Remote (Singapore Time, APAC-friendly hours)</strong></p><p><strong>How to apply</strong></p><p>Email hello@wownom.com with subject “60-Day CV & Backend Build — WowNom” and include:</p><ul><li>A shipped CV project (repo/demo) + one latency and one accuracy number you achieved and how</li><li>Availability to start within 1–2 weeks and timezone</li><li>(Optional) A brief note on grams estimation from depth vs. monocular on plated dishes</li></ul><p><strong>Mission (60 days)</strong></p><p><strong>Deliver a production-ready photo recognition system that powers a calorie-counting app end-to-end:</strong></p><ul><li>Upload → Analyze → Nutrition: From a food photo, return { name, grams, confidence, tags, ingredients, macros } per item, with meal totals and remaining daily targets.</li><li>Retraining option: Design and ship the infrastructure that learns from user corrections (renames, grams/macros edits) and can retrain/evaluate safely.</li></ul><p><strong>What you will build (end-to-end scope)</strong></p><ul><li>Public APIs</li><li>POST /api/vision/upload (multipart JPEG/PNG/WebP) → { name, grams, confidence, tags }[]</li><li>POST /api/coach/photo → persist image, call vision, run lookupFood, return items, meal totals, remaining Daily, and coachReply</li><li>Food analysis (multi-cuisine)</li><li>Gate + Instances: YOLOv8/11 detect (food vs distractors) → YOLO-seg (retina masks)</li><li>Naming: SigLIP/CLIP (or compact ViT) on mask crops, synonyms/taxonomy aware</li><li>Safety: OOD detector + low-confidence suggestions; safe abstain (no hallucinations)</li><li>Portioning (grams)</li><li>Device-depth first (if present), monocular fallback (MiDaS/ZoeDepth), tabletop plane-fit, coverage %, density lookup (Redis), portion_source=device|mono|heuristic</li><li>Nutrition & ingredients</li><li>Map labels → canonical taxonomy (≤400 dishes)</li><li>Query our nutrition DB or external sources (e.g., FDC) to assemble ingredients + per-ingredient macros, scale by grams, compute meal totals</li><li>Retraining loop (feedback → model)</li><li>Capture user edits & low-margin/OOD crops → store to ClickHouse/S3</li><li>Scripts & jobs to rebuild datasets, fine-tune, evaluate with metric gates, and publish new artifacts safely</li><li>Ops & safety</li><li>CI evaluator (Top-1/Top-5, OOD FP rate, Portion MAPE, latency SLOs) that blocks regressions</li><li>Observability: structured logs, per-stage ms, model/taxonomy versions</li><li>Privacy: consent gate, retention/“delete my images” flow</li></ul><p><strong>60-Day milestone plan (acceptance-driven)</strong></p><p><strong>Week 1–2 (Foundation & API)</strong></p><ul><li>Stand up GPU FastAPI /infer-v2 + Node /api/coach/photo</li><li>Return stubbed payload matching contract; basic telemetry; dockerized</li><li>Demo: curl upload → JSON schema exactly matches app contract</li></ul><p><strong>Week 3–4 (Models & Portions)</strong></p><ul><li>YOLO gate+seg (export ONNX); CLIP/SigLIP naming with temperature scaling</li><li>Depth-aware grams (device depth) + mono fallback; density via Redis</li><li>Demo: multi-cuisine sample set returns names + grams within sanity bounds</li></ul><p><strong>Week 5 (Nutrition & Safety)</strong></p><ul><li>Taxonomy (≤400) + nutrition mapping (our DB / FDC)</li><li>OOD abstain with suggestions; ingredients + per-ingredient macros scaled by grams</li><li>Demo: App-ready payload { name, grams, confidence, tags, ingredients, macros } per item; meal totals & remainingDaily</li></ul><p><strong>Week 6–8 (Retraining + CI gates + Canary)</strong></p><ul><li>Feedback capture from user edits; dataset rebuild scripts; fine-tune path</li><li>Evaluator + CI gates (json report) and shadow/canary rollout toggles</li><li>Privacy & retention wired; runbook + handover docs</li><li>Final Demo (Day 60): end-to-end flow on staging GPU; retrain on a small corrected set; CI passes; canary toggle ready</li></ul><p><strong>Success metrics (set at kickoff; used by CI gate)</strong></p><ul><li>Quality: Top-1 on core ≥ target; OOD FP ≤ target; Portion MAPE ≤ target on depth images</li><li>Latency: p50 ≤ 350 ms, p95 ≤ 800 ms on our staging GPU</li><li>Reliability: CI gate prevents regressions; logs/metrics complete; consent & retention enforced</li></ul><p><strong>Minimum qualifications</strong></p><ul><li>Shipped computer-vision systems to production (beyond notebooks)</li><li>YOLO detect/seg training or fine-tuning; export to ONNX/TensorRT and debug opsets/dynamic shapes</li><li>CLIP/SigLIP or ViT classifier work (fine-tune + temperature scaling); OOD thresholding</li><li>Depth pipelines (device + monocular), geometric reasoning (plane fitting, coverage)</li><li>Production APIs (FastAPI/Node), Redis/ClickHouse (or similar), Docker, GitHub Actions</li><li>Obs/ops: structured logging, latency profiling, privacy/retention patterns</li></ul><p>Nice-to-haves</p><ul><li>Triton Inference Server, FAISS/ANN, K8s/Helm, W&B/MLflow</li><li>Nutrition data integration (FDC or equivalent), taxonomy design</li></ul><p><strong>Tech you’ll touch</strong></p><p><strong>PyTorch, Ultralytics YOLOv8/11, SAM/SAM2, SigLIP/CLIP, MiDaS/ZoeDepth, ONNX Runtime (CUDA EP), TensorRT (nice), FastAPI, Node/Express, Redis, ClickHouse, Docker, GitHub Actions.</strong></p><p><strong>What we provide</strong></p><ul><li>GPU access (cloud, H100/A10/T4), seed datasets & taxonomy draft, staging infra, and rapid product feedback</li><li>Clear API contract and benchmark packs for CI gating</li></ul><p><strong>How to apply</strong></p><p><strong>Email hello@wownom.com with subject “60-Day CV & Backend Build — WowNom” and include:</strong></p><ul><li>A shipped CV project (repo/demo) + one latency and one accuracy number you achieved and how</li><li>Availability to start within 1–2 weeks and timezone</li><li>(Optional) A brief note on grams estimation from depth vs. monocular on plated dishes</li></ul>
684
1502
Is Remote? - False
Min Salary - None
Max Salary - None
Job Type - Full Time
Organization - BNBRUN SOLUTIONS LLP
Skills - None
Total Reviews - 0
Address Line 1 - 203, Ratnanjali Square
Address Line 2 - Prernatirth Derasar Rd
City - Ahmedabad
State - Gujarat
Country - 101
Postal Code - 380015