Skip to content
Open to SWE and ML engineering roles

Pranay Obla

M.S. Computer Science @ USC

I work on machine learning systems that have to hold up outside the benchmark — real-time vision in production, multi-agent LLM reliability, and the research into why models generalize at all.

Los Angeles, CA
Selected work

Things I've built

Each one links to a short case study: the problem, the decisions, and what the numbers looked like afterward.

Experience

Where I've worked

Four roles, mostly computer vision under real-world constraints — what I built, what it measured, and the calls I had to defend.

Visu.ai

Software Engineering Intern

Jan 2025 — Jun 2025

Bengaluru, India · Remote

Owned the detection side of a retail loss-prevention product — shoplifting and age detection across stores that looked nothing like each other.

Architectures evaluated
4
Duration
6 months

What I did

  • Evaluated YOLO, DETR, YOLOS, and R-CNN architectures for shoplifting and age detection across diverse retail environments.
  • Designed a hybrid detection–pose framework that reads body keypoint dynamics alongside bounding boxes, improving precision on product-concealment incidents.
  • Built YOLO-LSTM and RCNN-LSTM pipelines to model suspicious behavior as a temporal sequence rather than a per-frame event.
  • Containerized inference services with Docker for repeatable production deployment.

Decisions I made

  • Add pose estimation on top of object detection over tune the detector harder

    Concealment is defined by what the body does, not by what's in the frame. A bounding box around a person and a product can't distinguish picking an item up from hiding it — keypoint dynamics can.

    Trade-offA second model in the pipeline, which costs inference time on every frame that contains a person.

  • Sequence models (YOLO-LSTM, RCNN-LSTM) over per-frame classification

    Shoplifting is an action, and an action only exists across frames. Per-frame scoring fires on any single ambiguous posture, which is exactly where the false positives were coming from.

    Trade-offNeeds temporally labelled data and a buffer of frames before it can decide, so alerts arrive later.

PythonPyTorchTensorFlowUltralytics (YOLO)DETROpenCVLSTMDockerGit

National University of Singapore

Academic Intern

Dec 2023 — Jan 2024

Singapore · On-site

Led six people building a lane violation detector that had to run on live traffic footage, end to end, in two months.

Throughput
40 ms/frame
Accuracy
83%
Architectures benchmarked
5
Team size
6

What I did

  • Benchmarked R-CNN, YOLOv7, YOLO-NAS, SSD, and DETR on the same task and data — YOLO-NAS won on the accuracy-versus-latency curve and became the deployed model.
  • Built the training set from scratch — scraped traffic footage from YouTube and ran it through a Roboflow annotation pipeline.
  • Shipped the whole system: inference API on the backend, Streamlit frontend on Vercel for live monitoring.
  • Hit 40 ms/frame and 83% accuracy on unseen real-world footage.
  • Completed the programme's Big Data Analytics using Deep Learning coursework (GAIP2023W).

Decisions I made

  • Build a custom dataset from public traffic footage over an off-the-shelf traffic dataset

    Lane violations are defined by local road markings and driving conventions. A model trained on someone else's roads learns the wrong geometry.

    Trade-offWeeks of scraping and annotation before a single model could be trained.

  • Benchmark five architectures before committing over start with the obvious YOLOv7 baseline

    Real-time was a hard requirement, so the choice had to be made on the accuracy-versus-latency curve for this data — not on published numbers from a different benchmark. YOLO-NAS won and shipped.

    Trade-offSpent early project time on evaluation instead of building.

  • Streamlit and Vercel for the frontend over a custom web application

    The deliverable was a working demonstration on a two-month clock. The interface needed to exist and be shareable, not to be bespoke.

    Trade-offNot the deployment you'd choose for real production traffic.

PythonYOLO-NASYOLOv7DETRSSDOpenCVRoboflowFlaskStreamlitAWS

MerchantRMS Inc.

Data Science Intern

Aug 2023 — Oct 2023

Bengaluru, India · Remote

Built cashier theft detection into a live CCTV pipeline, and worked out what it would cost to run the models at the edge.

Inference target
Edge hardware
Duration
3 months

What I did

  • Developed an AI-driven cashier theft detection system using YOLOv7 and YOLO-NAS in a real-time CCTV monitoring pipeline.
  • Designed detection logic to flag suspicious point-of-sale behavior with tight temporal precision.
  • Researched post-training quantization to compress models for edge inference.
  • Documented the accuracy-retention versus latency-reduction trade-off for deployment on resource-constrained hardware.

Decisions I made

  • Post-training quantization over quantization-aware training

    QAT means retraining, and the detection models had already been trained on millions of labelled images. Redoing all of that to recover a few points of post-quantization accuracy was not a trade worth making.

    Trade-offPTQ gives up more accuracy than QAT, so the retention-versus-latency curve had to be measured and documented rather than assumed.

  • Port YOLO-NAS's quantization block into YOLOv7 over migrate production to YOLO-NAS

    YOLO-NAS ships a quantization-friendly block that YOLOv7 doesn't have, but production was already running on v7. Transplanting the block keeps the existing weights and pipeline intact; switching architectures would have meant retraining and revalidating the whole detection stack.

    Trade-offImplementing a block on an architecture it wasn't designed for — more integration work, and no guarantee the quantization gains carry over.

PythonPyTorchYOLOv7YOLO-NASOpenCVQuantization (PTQ)
Research

Publications

Peer-reviewed work in time-series forecasting, materials property prediction, and applied IoT.

Publications
3
Citations
5
h-index
1
  1. Enhanced miss forest and multivariate time series prediction of wind speed using deep learning

    T. Sidhaarth, P. A. Obla, N. N. Patil, Z. Stamenković, S. P. Raja

    Journal of Circuits, Systems and Computers · 34(12), 2530006 · 2025

    4 citations
  2. Machine learning approach for the prediction of tensile strength of carbon nanotubes reinforced AA2024 by friction stir welding and friction stir processing

    T. Sidhaarth, P. A. Obla, L. Ramasamy, S. K. Selvaraj

    Journal of Mechanical Science and Technology · 40(2), 997–1006 · 2026

    1 citation
  3. Data driven IoT module for pisciculture

    P. A. Obla, A. Kaushik, M. Santosh, N. R. D'Souza, A. Suresh

    Artificial Intelligence: Theory and Applications — Proceedings of AITA 2025 · pp. 281 · 2026

Full profile on Google Scholar
About

A bit more context

I'm a computer science master's student at USC. My work runs from real-time computer vision in production to LLM reliability to the optimization theory underneath both — but it's all the same question: what happens to a model once it leaves the benchmark it was tuned on.

That question is more interesting than it sounds. A detector at 90% on a clean test set and 60% on a store's CCTV feed isn't a good model, it's an unfinished one. Two models that score identically can behave completely differently when one audits the other. And an optimizer that trains faster may not generalize better at all — which is what I found when I decomposed Muon and reported the null result.

Outside of that: [one genuine interest — this is the line an interviewer remembers you by].

Education

  • University of Southern California

    M.S. Computer Science

    Aug 2025 — May 20273.40 / 4.00

    Focus: deep learning, NLP, and agentic AI

    6 courses
  • Vellore Institute of Technology

    B.Tech Computer Science and Engineering

    Minor in Business Systems

    Sep 2021 — May 20259.12 / 10.00

    41 courses
Toolkit

What I work with

Grouped by what it's for rather than by how well I know it — the experience and project sections show where each one was actually used.

Languages

PythonSQLC / C++JavaJavaScriptTypeScriptGoRMATLABHTML / CSS

Machine learning

Computer visionLLMsVision-language modelsMultimodal learningGenerative models (GANs)PEFT / LoRAContrastive learningTransfer learningEnsemble learningRAGPrompt engineeringPose estimationTemporal models (LSTM)Quantization (PTQ)AutoMLTime-series forecastingStatistical modeling

Frameworks & libraries

PyTorchTensorFlowscikit-learnHuggingFace TransformersUltralytics (YOLO)OpenCVLangChainNLTKNumPyPandasMatplotlibSeaborn

Backend & web

FastAPIFlaskDjangoStreamlitNode.jsReactREST APIs

Data & databases

MySQLPostgreSQLMongoDBDatabase designQuery optimizationETL pipelines

Tools & platforms

GitDockerAWS (EC2, S3, IAM, SageMaker, Athena)GCPVercelFirebaseWeights & BiasesRoboflow

Research

Optimization theoryGeneralizationNeuroimaging (3D T1 MRI)Multi-site harmonizationApplied NLP
Contact

Let's build something worth shipping

I read every message. If you're hiring, collaborating, or just want to argue about database internals, my inbox is open.

oblaanan@usc.edu