gfix
LIVEResolve git merge conflicts with semantic understanding instead of line-based diffing.
Software Engineer · Developer Tooling & AI Agents
Final-year BTech in Electronics & Computer Science — graduating May 2027. Building developer tooling in Rust and TypeScript at the intersection of AI coding agents and Git. Open to internships and new-grad roles — Mumbai, remote, or relocation.
Resolve git merge conflicts with semantic understanding instead of line-based diffing.
A VS Code extension that resolves merge conflicts the way a teammate would — understands intent, not just text diffs.
A Chrome extension that turns YouTube into a focused workspace — clean transcripts, distraction controls, and an AI chat that knows the video you're watching.
MIT Chrome MV3 extension that auto-detects listed items on any page and exports to CSV — deterministic, no AI, no tracking.
Independent product work since September 2025, with a recent EdTech internship.
Mar 2026 – Present · Mumbai
Stack: Rust · MCP · Mergiraf · VS Code Extension API · Open VSX · Git internals
Sep 2025 – Present · Mumbai
Stack: Plasmo · Chrome MV3 · React · TypeScript · IndexedDB · Innertube API · Supabase · Polar
Jan 2025 – Mar 2025 · Remote
Stack: React · Node.js · REST APIs · Webhooks
The stack behind the projects above.
Active contributor to the Rust and TypeScript open-source ecosystems — merged fixes in production projects, more in review.
net: accept ConnectionReset in shutdown_after_tcp_reset test
Fixed a flaky tokio::net test on FreeBSD where shutdown() can return ConnectionReset if the kernel processes the peer RST first.
fix(balance): clear cached P2C ready index after a discovery removal
Fixed the P2C load balancer serving a stale cached ready-index after a service was removed via discovery, which could route to a dropped endpoint.
fix: don't report a tree of only empty directories as untracked
Fixed status wrongly flagging a tree that contains only empty directories as untracked.
fix: preserve the underlying error when a reqwest request fails without a status
Preserved the underlying transport error when an HTTP request fails without a status code, instead of collapsing it into a generic error.
fix: seed fast pseudo-random numbers to differ across processes
Fixed the fast PRNG seed so generated values differ across processes rather than colliding on identical seeds.
fix: write new remote sections to the local config file
Remote::save_to was writing to a foreign config section when a global override existed; filtered the write target to the local file's metadata.
Add tests for Repository::open_mailmap and open_mailmap_into
Added regression tests for previously-untested mailmap loading paths on Repository::open_mailmap and open_mailmap_into.
Document that writing the index does not refresh the tree-cache extension
Documented that writing the index does not refresh the tree-cache extension — clarifying a subtle invariant for API consumers.
gix-pack: add a benchmark for pack generation from loose objects
Added a benchmark covering pack generation from loose objects, giving gix-pack performance-regression coverage on that path.
feat(client): opt-in connection check on Qdrant::build()
Added an opt-in connection health check to the client builder so a misconfigured endpoint fails fast at build time instead of on first query.
fix(python): escape reserved-keyword step ids in wrapper codegen
Fixed Python SyntaxError in flow codegen when a step id collided with a reserved keyword (in, from, is); extended the existing digit-prefix guard.
fix(frontend): respect forced column order for numeric column names
Fixed rich-table column ordering when column names are integer-like strings (JS numeric-key enumeration was overriding explicit header order).
fix(folders): allow hyphens in folder names
Relaxed the folder-name validator to accept hyphen characters, matching the rest of the path validators across the codebase.
Add a diff font size setting
Added a configurable diff font size to GitButler's editor; persists across sessions via the settings store.
14 PRs merged across 6 upstream projects — tokio, tower, gitoxide, qdrant, windmill, and GitButler.