I build production-focused machine learning and GenAI systems for financial automation, analytics, pharmaceutical intelligence, and research.
From data pipelines and predictive models to RAG, agentic systems, computer vision, and production deployment.
make resume compiles resume/main.tex and keeps exactly one PDF at output/resume-YYYYMMDD.pdf. The version date comes from the latest Git commit affecting resume/; use make resume RESUME_VERSION=YYYYMMDD to override it. Compilation runs in a temporary directory, old resume PDFs are removed after a successful build, and download links are updated automatically. make ats uses the PDF in output/ by default and asks for a target role, company context, optional job description, provider, model, and reasoning effort.
make atsPaste company context and the job description, finishing each with a line containing only .. Enter none on the first line when you do not have company context or a job description. The review scans substantive public GitHub project READMEs through gh, compares current evidence against the target, scores the resume out of 100, and estimates the impact of truthful edits and future skill/project work. GitHub scanning needs an authenticated gh CLI.
The interactive flow lists installed providers and offers provider-specific model and effort options. Codex includes GPT-6 Astra/Sol/Luna and GPT-5.6 Sol/Terra/Luna, plus a custom model ID. For scripted runs, use python3 scripts/ats.py --role "Data Scientist" --job-description job.txt --provider codex --model gpt-5.6-terra --effort high.
To use OpenRouter explicitly, set OPENROUTER_API_KEY and run with --provider openrouter. Its default model is openrouter/auto; ATS requests the max quality tier and prints the concrete model selected when the response arrives. Standard pricing for that model applies. Use ATS_OPENROUTER_MODEL to pin a model ID.
The local MCP server exposes ats_review_resume and ats_setup. Run make ats-setup for commands and configuration snippets for Codex, Claude Code, GitHub Copilot CLI, and Antigravity. For example:
codex mcp add ats -- python3 "$PWD/scripts/ats_mcp.py"
claude mcp add --transport stdio ats -- python3 "$PWD/scripts/ats_mcp.py"
copilot mcp add ats -- python3 "$PWD/scripts/ats_mcp.py"Antigravity can use the same stdio server from its MCP manager or its mcp_config.json. Set OPENROUTER_API_KEY in the MCP host's environment to route MCP reviews through OpenRouter Auto. The MCP server also has an ats_setup tool and an ats://setup resource with these instructions.
Run make jobs to search the live internet for active vacancies and print company names, job titles, application links, required experience, dates, company ratings and evidence in three tiers. This search uses no resume or GitHub project content. It requires an authenticated Codex or Claude Code CLI with working web search; auto chooses Codex first, then Claude if Codex is not installed.
make jobs
make jobs JOBS_PROVIDER=claude JOBS_MODEL=sonnet JOBS_EFFORT=high
make jobs JOBS_PROVIDER=codex JOBS_EFFORT=high JOBS_TIMEOUT=900
python3 scripts/jobs.py --jsonEdit scripts/jobs.py to set preferences. Defaults preserve Pune as priority 0, Mumbai and India-eligible Remote as priority 1, Data Scientist / ML Engineer / AI Engineer titles, 1.5 years of experience, and a mandatory mean Glassdoor/AmbitionBox overall rating of at least 3.5/5. Both company ratings and their source URLs are required; unavailable ratings exclude the company rather than guessing its quality. Closed/unverified vacancies, incompatible experience, other locations and original posting dates older than 30 days are excluded.
| Tier | Qualification |
|---|---|
| Must apply | First-priority location, verified experience fit, original posting within 7 days |
| Should apply | Any preferred location, verified experience fit, original posting within 14 days, excluding Must apply |
| Put it in stash | Otherwise qualifying active listings up to 30 days old, or unknown posting date / required experience; these gaps are marked for checking |
Each tier sorts by location priority first, then freshness, then company rating. There is no fixed count or padding: zero, two or ten qualifying jobs are shown as found. Distinct employer requisitions remain separate; duplicate URLs and matching requisition IDs are collapsed. Discovery is model-assisted and cannot guarantee exhaustive coverage; the report includes queries, exclusions, blocked-source warnings and provider-reported evidence. Employer pages can change after verification.
make jobs-setup
codex mcp add jobs -- make --silent -C "$PWD" jobs-mcp
claude mcp add --transport stdio jobs -- make --silent -C "$PWD" jobs-mcpmake jobs-mcp starts the stdio MCP server. It exposes jobs_find_active, jobs_preferences, jobs_setup, jobs://setup and jobs://preferences. jobs_find_active accepts optional title, experience, location-priority, rating, freshness and timeout overrides; it returns a readable report plus structured tiers. Configure JOBS_PROVIDER, JOBS_MODEL, JOBS_EFFORT and JOBS_TIMEOUT in the Makefile for both console and MCP searches. For example, make jobs-mcp JOBS_MODEL=gpt-5.6-terra JOBS_EFFORT=xhigh. Start connected clients through the Make command above so they pick up Makefile settings; restart the MCP server after editing them. A server started directly through Python defaults to Codex, gpt-5.6-terra, and xhigh, and accepts these settings through environment variables. Individual MCP tool calls cannot override the server's provider/model/effort. make jobs uses the same search and ranking functions as the MCP tool. Searches run in a temporary workspace, with shell tools disabled for Codex and only WebSearch/WebFetch allowed for Claude; nested job searches are disabled. Progress is printed to stderr every 15 seconds while the provider runs.
I am an ML and GenAI Engineer focused on building AI systems that move beyond prototypes and operate on real business data.
My work spans financial automation, large-scale analytical systems, agentic AI, machine learning, computer vision, data engineering, and production deployment.
| Current Role | ML & GenAI Engineer at Globalspace Technologies Ltd. |
| Experience | 1+ years across ML, GenAI, automation, data systems, and production engineering |
| Education | Information Technology Engineering, University of Mumbai |
| Academic | 8.5 CGPA · GATE DA 2026 Qualified |
| Primary Focus | Applied ML · GenAI · Agentic Systems · Financial Automation · Analytics |
| Pharmaceutical sales and tender records used by an agentic analytical system | Invoices processed through automated financial reconciliation | Reduction in reconciliation processing time versus the previous manual workflow | Chess-piece detection accuracy across 500+ test images |
My career so far has followed one consistent direction:
automating repetitive workflows → building intelligent decision systems → engineering production AI
Start → Propelligence Advisors · Freelance Automation Developer · May 2025–Jan 2026 Financial automation
↓
Globalspace Technologies Ltd. · ML & GenAI Engineer · Jan 2026–Present ML + GenAI systems
↓
Present
ML & GenAI Engineer January 2026 — Present
Building AI, ML, analytics, and automation systems across pharmaceutical intelligence, financial workflows, auditing, and enterprise decision support.
Agentic analytical system operating across 3M+ pharmaceutical sales and tender records.
Built to support:
- historical analysis
- forecasting workflows
- simulation
- multi-step analytical planning
- evidence-grounded answers
- human review checkpoints
- analytical tool orchestration
The system translates complex analytical questions into structured execution plans and coordinates the required data and reasoning tools.
AI-enabled auditing and financial review platform focused on reducing manual work across accounting and audit workflows.
Areas include:
- automated reconciliation
- financial-data ingestion
- review workflows
- anomaly detection
- analytical tooling
- audit automation
- structured financial analysis
AI-assisted strategic decision-support system designed to help transform business data into structured analysis and decision context.
Designed a unified organizational hierarchy model and dynamic scoring system for incentive and budget calculations.
The architecture was designed to scale calculations across thousands of employees while keeping scoring rules configurable and maintainable.
Freelance Automation Developer May 2025 — January 2026
This was where my work moved from software experimentation into solving real operational problems.
Built an automated reconciliation system for matching purchase-register records with GSTR-2B tax records.
The system processed 10,000+ invoices using:
- Polars
- RapidFuzz
- normalization pipelines
- fuzzy entity matching
- rule-based reconciliation
- automated report generation
A workflow that previously required approximately 5–6 days of manual work could be processed automatically, reducing processing time by more than 99.9%.
The solution later became part of an audit workflow used by two CA firms and approximately 20 auditors.
Computational neuroscience · fMRI · Research infrastructure
Cortical-response analysis on Healthy Brain Network movie-fMRI data, comparing participants with ADHD against a matched cohort.
Built around reproducible analytical workflows and containerized research infrastructure.
TRIBE v2 fMRI Python Docker Compose
Computer Vision · Chess · Object Detection
Reads a physical chess position from an image, reconstructs the board state, and evaluates the resulting position using Stockfish.
Achieved 98.57% detection accuracy across 500+ test images.
YOLOv8 Roboflow OpenCV Stockfish Python
IoT · Geospatial Analytics · Clustering
Distributed cattle-monitoring system combining GPS and RSSI measurements from ESP32 devices.
DBSCAN is used to identify grazing zones and spatial behavior, with results displayed through a live monitoring dashboard.
ESP32 DBSCAN Flask MongoDB Next.js
FinTech · Financial Automation · Entity Matching
Automated financial reconciliation engine for matching purchase records against tax records and producing review-ready outputs.
Python Polars RapidFuzz Fuzzy Matching
Full-Stack Learning Platform
Full-stack student productivity and collaboration platform combining learning tools, speech-to-text capabilities, and collaborative workflows.
MERN TypeScript Speech-to-Text Collaboration
NLP · Information Extraction · Sports Analytics
Processes ball-by-ball cricket commentary, extracts match events, and applies rule-based analytical logic to identify possible team strategies and patterns.
Python NLP Web Scraping Rule-Based Analytics
Additional Projects
Experiment in representing interface interactions as repeatable, code-driven UI workflows.
Python UI Automation
Drawing-board companion for collaborative learning and visual explanations.
TypeScript
JavaScript-based learning and assessment application.
JavaScript Web
Flask application for managing shop operations and records.
Python Flask
Python utility for downloading audio from supported sources.
Python
Python
SQL
NumPy
Pandas
Polars
scikit-learn
XGBoost
PyTorch
YOLOv8
OpenCV
LLMs
RAG
Agentic Systems
Multi-Agent Systems
LangChain
LangGraph
MCP
Human-in-the-Loop
Tool Calling
Structured Outputs
FastAPI
Flask
PostgreSQL
MongoDB
Redis
REST APIs
Data Pipelines
Docker
AWS
MLflow
Git
GitHub
Linux
Python
SQL
TypeScript
JavaScript
Go
React
Next.js
I am particularly interested in systems where machine learning is only one part of the solution.
That includes:
- analytical agents that coordinate multiple tools
- production RAG systems
- multi-agent architectures
- financial and audit automation
- intelligent data pipelines
- predictive analytics
- computer vision systems
- ML systems connected to real operational workflows
- human-in-the-loop AI
- systems that turn large datasets into actionable decisions