AN ENGINEER’S WORKING NOTEBOOK

Ishaan
Saraswat

I work on developer tools, distributed systems, and applied machine learning.

A LITTLE THING TO TRY

One query.
Three places to look.

Move the query. Each shard has candidates; the closest three make the final cut.

Explore vector search
55
SHARD A12 · 43 · 78
SHARD B24 · 59 · 91
SHARD C8 · 36 · 68
GLOBAL TOP 3
B59A43C68

Toy 1D data · exact distance · an illustration of shard merging

01 / PROJECTS

Selected projects

All projects

02 / WORK & RESEARCH

Experience

Internships and research in machine learning, agent evaluation, and software engineering.

View experience
ShopifyLATESTMachine Learning Engineer InternSep — Dec 2026

Backend and ML infrastructure for automated code review.

  • Developing backend and ML infrastructure for Binks, Shopify's agent-scale automated code reviewer, using Python, Go, and Rust, to improve engineering throughput and code-review scalability
  • Reduced code-review cost by ~15% by eliminating redundant analysis and model invocations while preserving review quality
  • Implemented a caching and deduplication layer for repeated code-analysis requests, reducing median review latency by ~12%, aiming for a 20% eventual latency reduction

Bellevue, WA

PythonGoRustMachine learningDeveloper tools
IBMSoftware Engineer InternJun — Sep 2026

Agent evaluation and API routing verification.

  • Built automated verification systems for IBM Watson Orchestrate to evaluate collaborator-agent accuracy across 100+ enterprise workflow scenarios, achieving <200 ms validation latency
  • Hardened tool routing and external API execution, increasing end-to-end success rate by ~5%
  • Built scalable test infrastructure for autonomous workflows supporting 10,000+ daily agent invocations

San Jose, CA

Agent evaluationAPI routingAutomated verification
Shah Lab · UCLAUndergraduate ML Research AssistantSep 2025 — Mar 2026

Embryo segmentation with deep learning.

  • Engineered ML pipelines to process ~500,000 microscopy frames for embryo segmentation and computer-vision analysis
  • Improved segmentation beyond a 95% accuracy baseline through model optimization and analysis of computer-vision failures

Los Angeles, CA

Computer visionDeep learningML pipelines
App-ScoopSoftware Engineer InternJun — Sep 2025

Social-media automation and full-stack development.

  • Built a social-media automation platform using transformer and scikit-learn models to score post sentiment, increasing post engagement by ~40%
  • Developed React components and Node.js APIs for a scheduling dashboard, improving workflow productivity by ~20%
  • Containerized inference services with Docker and built GitHub Actions CI/CD pipelines for automated testing and deployment

San Francisco, CA

ReactNode.jsTransformersDocker

03 / THE BILLING EXPERIMENT

A response isn’t
always a result.

An agent made a request. Should it pay? Try three outcomes and follow the decision through my billing gateway.

Inside the billing proxy the interesting part
is when it says no ↗
PROOF OF EXECUTIONINTERACTIVE SKETCH / 02
UPSTREAM RESPONSE200 OK
{ "result": "Found what you asked for" }

Verified. Eligible for billing.

Successful request. Substantial response. No detected refusal.

Simulated examples of the heuristic checks. No API calls, wallet debits, or real charges.

04 / INTERACTIVE VECTOR SEARCH

What makes a
close match?

Vector databases retrieve items by similarity. Move the query to see which stored vectors are closest, and how the top three results change.

  1. 01 Move the query point.
  2. 02 Compare Euclidean distances.
  3. 03 Keep the nearest three vectors.

This exact 2D search illustrates the idea. My C++ database uses an approximate HNSW index for 768-dimensional vectors and merges results across shards.

Inside the vector database

FROM MY VECTOR DATABASE PROJECT

Find the nearest vectors

Move the query point to see its three closest matches.

0.00.00.50.51.01.0123
QUERY
NEAREST MATCHESEUCLIDEAN DISTANCE
  1. 1v250.067
  2. 2v270.114
  3. 3v350.156

A 2D demo using sample data. My database searches 768-dimensional vectors with an HNSW index.

View the C++ database project

05 / NOTES FROM THE WORKBENCH

Things that broke.
Things I learned.

The small details that changed
how the system behaves.

001 / VECTOR DATABASEMEMORY & SIMD

The query that
crashed the kernel.

The store aligned its vectors to 64 bytes. Query buffers didn’t make the same promise. An AVX-512 load assumed they did, and the engine crashed.

_mm512_load_ps(query)_mm512_loadu_ps(query)

Note to self: a guarantee inside the storage engine isn’t a guarantee at the API boundary.

The fix + regression test
002 / BILLING GATEWAYVERIFICATION

A good score.
A bad decision.

The heuristic evaluator combined signals into one score. Other positive signals could outweigh an HTTP failure or refusal, so a failed response could pass.

Successful HTTPNontrivial bodyNo detected refusalTHEN CHECK THE SCORE ↗

Note to self: some conditions are requirements. They shouldn’t be traded against a weighted average.

The fix + regression tests
Ishaan Saraswat at UCLA, standing under the brick archesUCLA · LOS ANGELES, CA

06 / ABOUT

About me

I’m a Computer Science & Engineering student at UCLA, graduating in June 2028. My experience includes automated code review at Shopify, agent evaluation at IBM, and computer vision research at Shah Lab. I’m especially interested in infrastructure that makes ML fast, reliable, and useful to developers.

Outside of work and school, I enjoy weightlifting, basketball, and trying restaurants around LA.

Download résumé

07 / CONTACT

Contact

Fill out this form, or email me at

For engineering roles, projects, or research.

Send a message

All fields are required.

A quick spam check may follow.