Software Engineer · Developer Tooling & AI Agents

Amey Pawar.

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.

Featured work

gfix

LIVE

Resolve git merge conflicts with semantic understanding instead of line-based diffing.

gitfix

LIVE

A VS Code extension that resolves merge conflicts the way a teammate would — understands intent, not just text diffs.

tubio

LIVE

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.

Pluck

BETA

MIT Chrome MV3 extension that auto-detects listed items on any page and exports to CSV — deterministic, no AI, no tracking.

Experience

Independent product work since September 2025, with a recent EdTech internship.

Founder & Engineer · gfix & gitfix

Mar 2026 – Present · Mumbai

  • Architected gfix — a Rust CLI + MCP server that lets AI coding agents resolve git merge conflicts natively, eliminating the human bottleneck in parallel-agent workflows.
  • Shipped gitfix VS Code extension (Marketplace + Open VSX) with a conflict tree, one-click fixes, and a full per-resolution audit trail.

Stack: Rust · MCP · Mergiraf · VS Code Extension API · Open VSX · Git internals

Founder & Engineer · Tubio

Sep 2025 – Present · Mumbai

  • Built and shipped Tubio end-to-end — a Chrome MV3 SaaS (Plasmo + React + TypeScript) achieving 4.8★on the Chrome Web Store; downloads YouTube transcripts at volume with metadata and multimodal context the official YouTube Data API doesn't expose.
  • Engineered bulk download of up to 800 videos/session with sequential rate-limiting and IndexedDB persistence that survives MV3 service-worker restarts; bypassed the 2024 PoToken enforcement by reading from the user's authenticated session.

Stack: Plasmo · Chrome MV3 · React · TypeScript · IndexedDB · Innertube API · Supabase · Polar

Web Developer (Intern) · Trineteini Quantum

Jan 2025 – Mar 2025 · Remote

  • Delivered a full admin panel and social-media dashboard for dialclub.org — CRUD surfaces over users, content, and operational state with cross-channel publishing.
  • Built role-based instructor dashboard, event lifecycle management (draft → published), a question-bank-backed quiz module, and a public-facing conversational chatbot.

Stack: React · Node.js · REST APIs · Webhooks

Skills

The stack behind the projects above.

Languages
Rust, TypeScript, JavaScript, Python, Ruby
AI / Agents
Model Context Protocol (MCP), Claude API, OpenAI, Gemini, Ollama, prompt engineering
Frontend
React, Next.js (App Router), Tailwind CSS, Plasmo (MV3), HTML5 Canvas
Browser / Extensions
Chrome MV3, VS Code Extension API (Marketplace + Open VSX), service workers, IndexedDB, Innertube API
Backend & Infra
Node.js, Ruby on Rails 8, Sidekiq, REST APIs, Supabase, Vercel, Docker, Polar
Git / Systems
Git internals, rerere, AST-based merging (Mergiraf), worktrees, multi-agent workflows

Open Source

Active contributor to the Rust and TypeScript open-source ecosystems — merged fixes in production projects, more in review.

tokio-rs/tokio · #8196MERGED

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.

Rust
tower-rs/tower · #874MERGED

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.

Rust
GitoxideLabs/gitoxide · #2673MERGED

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.

Rust
GitoxideLabs/gitoxide · #2669MERGED

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.

Rust
GitoxideLabs/gitoxide · #2663MERGED

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.

Rust
GitoxideLabs/gitoxide · #2637MERGED

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.

Rust
GitoxideLabs/gitoxide · #2622MERGED

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.

Rust
GitoxideLabs/gitoxide · #2664MERGED

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.

Rust
GitoxideLabs/gitoxide · #2675MERGED

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.

Rust
qdrant/rust-client · #286MERGED

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.

Rust
windmill-labs/windmill · #9460MERGED

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.

Rust
windmill-labs/windmill · #9463MERGED

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).

TypeScript
windmill-labs/windmill · #9566MERGED

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.

Rust
gitbutlerapp/gitbutler · #14245MERGED

Add a diff font size setting

Added a configurable diff font size to GitButler's editor; persists across sessions via the settings store.

TypeScript

14 PRs merged across 6 upstream projects — tokio, tower, gitoxide, qdrant, windmill, and GitButler.