Senior Frontend Engineer · 10 yrs React/TypeScript · Now building AI developer tooling in Rust — Airlock, JobFit

Bengaluru

Remote

Bengaluru

Bengaluru, Karnataka, India

Bengaluru Area, India






Bachelor of Technology (BTech), Computer Science
Vel Tech University
10+2, PCM
RLSY Senior Secondary High School
Join Sagar and 10k+ other professionals on
Tal is the app where bosses meet engineers & builders directly, without middlemen
Download Tal BossSenior Frontend Engineer · 10 yrs React/TypeScript · Now building AI developer tooling in Rust — Airlock, JobFit
I've spent a decade building the frontends that don't get to be simple — a campaign builder at MoEngage used by 100% of the customer base, a real-time chat console synchronising live state across concurrent conversations, a dashboard chewing through 50,000+ articles a day. For the last year I've been building AI developer tooling on my own. The problem I got interested in: your AI agent writes the code, and nothing can prove what it actually did to your repository. The diff looked right. You accepted. Did it touch more than it claimed? Was any of that committed? Can you undo it? Cursor, Copilot and Claude Code will all out-generate anything I build. None of them can answer those questions with evidence. So I built Airlock — a Rust/Tauri desktop app where a patch is human-approved, dry-run, backed up, applied, and then verified path-by-path against exactly what was approved. If one unexpected file moved, it quarantines instead of reporting success. Approval and application are separate authorities: the React layer holds zero authority and passes only durable IDs, and ~6,000 lines of Rust re-derive every gate from SQLite on the explicit assumption that the frontend is lying. The part I'd actually want to talk about in an interview isn't the app. It's this: my test suite was 100% green while a critical validator bypass sat in the code. A crafted diff could write to a forbidden .env, outside the declared target, with no backup. It was invisible because every apply test used a create patch and there was no modify test anywhere. Coverage was broad. It wasn't adversarial. That changed how I test. I grew the native suite from 38 to 104 tests by watching every one fail for the right reason first, and proving every green-on-arrival test by neutralising the guard it claimed to protect. Six of them passed whether the guard existed or not. I also build with agents, not around them — Claude Code, authored skills, plan-mode gates, unattended overnight loops. Which taught me the same lesson from the other side: the loop once reported APPROVED having committed nothing. It wasn't lying; I'd never asked it whether the work landed. The fix wasn't a better prompt. It was four lines of bash comparing git rev-parse HEAD before and after. Airlock is a working local build with no users yet, and the roadmap says so in writing. The hard part is done; the packaging isn't. Open to senior frontend roles at early-stage teams where "build it from scratch" is the actual job description. Airlock → github.com/sinhasagar01/Airlock-Lab JobFit → chromewebstore.google.com/detail/jobfit
Bengaluru
claude code
claude
codex
cursor
opencode
Supabase
Independent Product Engineer — AI Developer Tooling at Self-Employed, Jul 2025 - Present · 1 yr 2 mos, Bengaluru, Building AI developer tooling independently. Rust, Tauri, React, TypeScript, SQLite. - Airlock — a local-first desktop app that sits between AI coding agents and a real working tree. A patch is human-approved, dry-run, backed up, applied, then verified path-by-path against exactly what was approved; if a single unexpected file moved, it quarantines instead of reporting success. Working local build, no users yet. - Designed the native/renderer trust boundary across ~6,000 lines of Rust. React holds zero authority and passes only durable IDs and a typed confirmation phrase; the native layer re-derives every gate from SQLite on the explicit assumption that the frontend is compromised. Twelve fixed commands, no shell, no arbitrary git. - Found and fixed a validator bypass that let a crafted diff write to a forbidden .env outside the declared target, and a data-loss defect where rollback overwrote a user's uncommitted edit and reported the destruction as verified. Each reproduced end-to-end with a failing test before the fix. - Grew the native suite from 38 to 104 tests using an adversarial discipline: every test shown failing for the right reason first, every green-on-arrival test proven by neutralising the guard it claimed to protect. Six tests passed whether the guard existed or not. - Drove the build through unattended AI agent loops with an independent verification gate, after the agent reported work APPROVED having committed nothing. - JobFit — shipped a live Chrome extension (Manifest V3, React, TypeScript) scoring resume–job fit across five weighted dimensions with a prioritised action plan. Resume parsed locally; works on LinkedIn, Greenhouse, Lever, Ashby.
Senior Frontend Developer at Poptin, Jan 2024 - Jul 2025 · 1 yr 7 mos, Remote, - Boosted agent productivity by 40% by architecting a "Canned Responses" system with 1000+ predefined responses, real-time filtering, and drag-and-drop reordering. - Designed a server-state management layer over WebSocket channels to synchronise live chat state across concurrent conversations — caching, invalidation, optimistic updates. - Built a "Multi-Conversation" micro-module with isolated state boundaries and event-driven communication between conversation contexts. - Implemented a contextual "Quick Action Menu" with keyboard navigation and WCAG 2.1 AA compliance.
Sr Frontend Developer at Bugs And Errors Studio, Oct 2022 - Dec 2023 · 1 yr 3 mos, Bengaluru, Built a data aggregation dashboard processing 50,000+ articles a day, and the shared design system behind two production products. - Architected a high-performance data aggregation dashboard handling 50,000+ daily articles — virtualized list rendering, intelligent cache strategies, and query deduplication holding 99% uptime under sustained read load. - Built a component library and shared design system powering both the e-commerce storefront and the admin platform — token-based theming, accessible primitives, and documented usage patterns adopted across teams. - Built AI-driven personalised recommendation modules, integrating server-side data fetching with client-side cache hydration for instant page loads. React · Next.js · TypeScript · Zustand · Tailwind CSS
Frontend Developer at MoEngage Inc., Jun 2017 - Sep 2022 · 5 yrs 4 mos, Bengaluru, Karnataka, India, Built the email campaign management system used by 100% of MoEngage's customer base — recognised internally as "Rockstar Developer" for it. - Architected a complex, data-heavy campaign management system: an advanced drag-and-drop email builder, inline editing across thousands of records, built-in themes, real-time preview, spam detection, and reporting. Shipped to the entire customer base. - Designed the frontend module architecture for MoEngage's SaaS platform — shared component libraries, feature-level module isolation, and clear API boundaries between product domains, so multiple teams could work in parallel without cross-contamination. - Implemented a centralised server-state layer using Redux Toolkit with normalised caching, request deduplication, and optimistic UI updates. - Mentored 3 junior engineers, ran code reviews, and drove adoption of TypeScript strict mode, accessibility standards, and performance budgets across the frontend team. - Won 1st place at the company hackathon for a sentiment analysis and marketing optimisation tool built on NLP algorithms. React · Next.js · TypeScript · Redux Toolkit · Tailwind CSS
Frontend Developer at UrbanPiper, Apr 2016 - Jun 2017 · 1 yr 3 mos, Bengaluru Area, India, Built a food-ordering platform processing 10,000+ orders a day. - Built the ordering platform end to end with wallet integration and real-time order tracking; improved customer retention by 25% through UX work on the order flow. - Redesigned the marketing site with a performance-first architecture, cutting page load time by 40%. React · JavaScript · jQuery
Bachelor of Technology (BTech), Computer Science, Vel Tech University
10+2, PCM, RLSY Senior Secondary High School
github: https://github.com/sinhasagar01