anubhav jain / portfolio

I like owning problems end to end.

Full stack software engineer, 8 years

Frontend, backend, infrastructure: whatever the problem actually needs. I've done that at enterprise scale, at startup speed, and across client work in healthcare and fintech. Lately I've been applying the same approach to AI.

Ruby on Rails · React · TypeScript · Postgres · Redis · AWS

where I've done this

Experience

languages
Ruby TypeScript JavaScript SQL
backend
Ruby on Rails REST APIs background jobs
frontend
React Next.js Angular HTML/CSS
data
Postgres Redis
infra
AWS Kubernetes Terraform CI/CD Datadog New Relic
2023 – present

Senior Engineer II, PowerSchool

Production reliability for a large multi-tenant SaaS platform. I lead recovery and root cause analysis for major incidents, including database outages and data integrity failures, and design guardrails around concurrency, retries, and admin workflows to shrink the blast radius of changes in a tightly coupled, brownfield codebase. Go-to engineer for complex production behavior, and mentoring alongside it.

Ruby on Rails · Angular · React · TypeScript · Postgres · Redis · AWS

2021 – 2023

Product Engineer, Shuru Technologies

Joined as one of the first engineers at a startup that pivoted from youth training into hiring, rebuilding core parts of the app across frontend, backend, and infrastructure as it shifted. Built the internal systems the operations team ran the business on, through both legs of the product.

Ruby on Rails · React · Next.js · Postgres · Redis · AWS

2019 – 2021

Software Engineer, Betacraft Technologies

Client engagements across healthcare and fintech, each with its own domain and constraints. Led a compliance and continuing-education platform for clinicians, built on a complex rules engine. Shaped technical design with client stakeholders and mentored interns.

Ruby on Rails · Postgres · Redis

2018 – 2019

Systems Engineer, Infosys

SAP Basis operations. Early exposure to enterprise systems and production discipline.

what I've built at work

Systems

The systems below are the ones I'd want to talk through in an interview.

Internal ATS for a hiring platform

Shuru · 2021–2023

The system the operations team ran hiring on: job posting and lifecycle, interview pipelines, candidate filtering and flagging, and the outreach data recruiters worked from. Ten people used it every day.

Before it, hiring ran on an off-the-shelf recruiting CRM alongside spreadsheets for tracking candidates. It was built as a v2 while the existing system kept running, so the ops team could move across when it was ready. Once they did, recurring operational work came off engineering.

Ruby on Rails React Postgres Redis data migration

Content ingestion for the training product

Shuru · 2021–2023

Instructors authored the course material: videos, quizzes, questions, and answer keys. This pipeline took what they produced and loaded it into the backend with no engineer in the loop.

Content nested as modules, sub-modules, lessons, and quizzes, with each quiz holding a handful of questions. A question could be video, image, text, or a combination of them, which meant the client had to render every shape and the API had to stay generic enough to describe them all instead of special-casing each one. Instructors named their files against a convention agreed up front, and the ingestion script used that convention to resolve each asset onto the right place in the structure.

Ruby on Rails ingestion media handling automation

Compliance platform for clinicians

Betacraft · 2019–2021

A platform helping clinicians track and meet continuing-education and compliance requirements, built on a rules engine that encoded a demanding, ever-changing set of regulations.

Requirements varied by state and by license type, and they kept changing, so the platform had to absorb updates rather than be rewritten around them. Most of them fitted one underlying model. The remaining fifth were ambiguous enough in interpretation that the rules engine had to grow new capability before it could express them at all, and that minority is where most of the work went. It also integrated with partner systems to pull and reconcile compliance data across sources.

Ruby on Rails rules engine Postgres healthcare

what I've built on my own time

Side projects

Self-directed builds, 2026. Most with Claude Code as a pair-engineer.

Vision-language model, from the ground up

building · write-up soon

A model that can look at an image and describe it in natural language, built and trained end to end from a frozen vision encoder, a trained projector, and an open-source LLM. Not an attempt to invent something new, but to understand exactly how the pieces fit together, from the vision encoder through the projection layer to the language model.

vision-language SigLIP2 Qwen2.5 Claude Code

Image and caption, generated together

building · write-up soon

A system that generates a stylized image and a matching caption from a single input, rather than generating one and describing it after the fact. Combines an image-generation model with a captioning model trained to stay coherent with it.

diffusion LoRA CLIP multimodal

why I build this way

Philosophy

I don't like stopping at the abstraction. If I'm using something, whether a framework, a system, or a model, I want to understand it well enough that I could have built it myself. That's not a purity test, it's practical: you can't debug, extend, or trust something you don't actually understand.

That instinct is the thread through everything above. It's what tells you where a change is safe in a system nobody fully remembers, what lets you own a problem that has no playbook yet, and what it takes to go deep enough into someone else's domain, healthcare compliance or fintech regulation, to build something that holds up. Lately I've turned it toward AI: I use tools like Claude Code as leverage, but I still work through the mechanics myself, because that's the only way I trust what I've built.

I'm drawn to problems where the easy version isn't good enough. Where "mostly working" doesn't count, and the interesting part is making the whole thing actually hold together.