Experience

Systems I've built, and the problems that made them interesting.

Software Engineer

Mar 2025 – Present
Vujis·Hyderabad
What I owned

Search and AI across the core platform: the OpenSearch layer behind faceted discovery, the OpenAI pipelines that turn raw records into insight, and the high-traffic APIs holding it together under real production load.

What I built
  • A search layer over 100k+ documents with full-text search, faceted filtering, and index mappings tuned so the engine does the work it was built for. Average query time went from 1.8s to around 500ms.
  • AI pipelines on top of the OpenAI APIs that chew through 50k+ records a day, pulling structured insight out of messy data across several categories and erasing analysis work that used to eat afternoons.
  • A pass over the hottest Node.js endpoints (smarter middleware, cursor pagination, less wasted work) that cut tail latency by about two-thirds and let throughput scale roughly 10x.
  • An image pipeline that compresses with cWebP before anything touches S3, shrinking a 2GB pile of product images by ~95% and making pages load noticeably faster.
Interesting problems
  • I was computing facet counts in Node by pulling every matching row back and tallying them by hand. The fix was equal parts embarrassing and satisfying: OpenSearch aggregations do that at the shard level, right next to the data. Moving the counting into the engine was most of the latency win.
  • Deep pagination quietly caps at 10k results, and asking for page 500 makes every shard collect 5,000 rows just to throw them away. A search_after cursor with a stable tiebreaker made page 500 cost the same as page 2.
  • Designing a schema loose enough to absorb new data categories as they appear, but tight enough that downstream pipelines don't break every time something new ships.
Read the full writeup
OpenSearchOpenAINode.jsTypeScriptAWS S3

Full Stack Developer

Aug 2024 – Feb 2025
Scallio Digital·Kolkata
What I owned

The front-to-back of a lead-nurturing platform used by 5k+ people daily: the React app they lived in, the REST APIs behind it, and the AWS pipeline that shipped it.

What I built
  • A React and Shadcn UI front end with Zustand for state, restructured so 40+ components stopped re-rendering when they had no reason to (render cycles down ~20%).
  • 20+ REST endpoints on Node and Express, deployed to AWS with CI/CD that held 99.9% uptime and halved deploy time.
  • Debounced inputs and server-side pagination across 8 data-heavy views holding 30k+ records, so the UI stayed responsive while the CRM synced in real time.
Interesting problems
  • Keeping a data-heavy CRM interface snappy when every keystroke could fire a request. The craft was in deciding what to debounce, what to paginate on the server, and what should simply never re-render.
  • Real-time sync where the client and the source of truth could quietly drift, and the user should never see the seam.
React.jsNode.jsExpressZustandShadcn UIAWS

Software Developer

Dec 2023 – Jul 2024
Mocero Health Solutions·Chennai
What I owned

Core front-end work on internal tools used by 200+ people, including a Notion-style markdown editor and the file infrastructure underneath it.

What I built
  • A Notion-like WYSIWYG markdown editor in React and Redux Toolkit, the kind of surface where every edge case is a fresh bug. Closed out 17+ critical ones and cut the crash rate by ~65%.
  • S3-backed file storage handling 1k+ uploads a day through secure pre-signed URLs, with upload latency down ~30%.
  • A re-render audit across 27+ components with Context API and React.memo, taking unnecessary renders down 40% and shaving ~800ms off page load.
Interesting problems
  • WYSIWYG editors are deceptively brutal: selection, paste, undo, and nested formatting all conspire against you. Most of the work was taming the edge cases that only appear once real people start typing.
  • Cutting re-renders without rewriting everything, which meant finding the few components actually causing the cascade instead of reflexively memoizing the whole tree.
React.jsRedux ToolkitNode.jsAWS S3Context API