AI & Automation Engineer
📍 Bangalore, India · "I build intelligent systems."
I ship production LLM systems for a living — from a Springer-published model that reads chest X-rays well enough for a radiologist to take seriously, to document pipelines that quietly run themselves.
Before any of that, I wrote real-time control code for jet engines at DRDO, where a millisecond of lag isn't a bug — it's a flameout. That job taught me to respect latency and distrust anything that "looks like magic in a notebook and falls apart in production."
Autofill Vault is the opposite kind of project: small, local, and built for an audience of one — me, at 1 a.m., on my fourteenth job application of the week, refusing to type my own phone number one more time. It turned out to be a surprisingly fun problem, so I made it good enough to share.
This is one project. There are 18 more — and a few jet engines — over at charanreddy.dev. Consider this the side door.
No filler. The things that actually changed how I'd build the next one.
.value is a lie to ReactMy first version "worked" — the text appeared, then vanished on submit because React never knew. The fix (calling the native prototype setter, then firing real input events) is the single most useful DOM trick I picked up all year.
One site's "email" is another's data-testid="contact_field_2". A weighted score across autocomplete tokens, types, labels and synonyms beats any single heuristic — and degrades gracefully when a site is weird.
Skipping fields you already touched, and never overwriting your work, mattered more to how it feels than any amount of matching cleverness. Trust is built by what a tool refuses to do.
With everything in chrome.storage.local, there was nowhere to hide a slow API or a "we'll fix privacy later." The constraint made the product simpler and the threat model honest.
And I've made peace with that. The five minutes a day this saves me is almost beside the point — the real payoff was the engineering puzzle, and admitting that to myself was its own small lesson.
Want to build something — or break something interesting? I'm open to good problems and better conversations.