- Built an AI-powered Slack assistant using LangGraph + OpenAI API with a RAG pipeline (Pinecone vector DB) — eliminated hours of manual Slack searching for engineering teams
- Reduced API response time 40% by migrating REST → GraphQL (Apollo Server, schema stitching across 3+ microservices)
- Cut read latency 35% using CQRS + gRPC + Go in a multi-tenant microservice
- Shipped reusable React/TypeScript component library (Hooks, Context, Storybook) used across product teams
- Automated Helm + Kubernetes deployment pipelines, streamlining CI/CD workflows
software developer bridging engineering depth and business impact — cloud, AI, and products people actually use.
I translate complex technical problems into scalable cloud and AI solutions that drive real adoption. I've shipped production features at Auvik Networks, built GCP backends at Auticon, and I care about making technology work for the people using it.
Toronto, ON · jaivshah.site
Production work across AI tooling, GraphQL microservices, GCP full-stack delivery, and test automation at scale.
- Owned full delivery of a location assessment service on Google Cloud Platform (GCP): Firebase Auth, Cloud Firestore, Cloud Functions — 99.9% uptime
- Reduced data fetch latency 40% via RxJS observables + optimized Firestore queries
- Achieved 60fps rendering with 1000+ concurrent map markers on mobile (viewport culling + requestAnimationFrame)
- Technical bridge between engineering and business stakeholders; onboarded and mentored junior developer
- Infrastructure provisioned with Terraform + AWS
- Designed and shipped scalable secure APIs integrated with front-end products
- Deployed Node.js microservices with Docker in Kubernetes environments
- Built company-wide test automation framework → accelerated releases 25%, cut manual testing 65%
- Improved software reliability 40% through end-to-end UI automation with CI/CD integration
- End-to-end Android testing using Robot Framework (Python) + Appium
Internal AI tooling, a prior portfolio site, a PostgreSQL-backed CLI task tracker, and a vanilla JS drum pad — shipped with clear UX and practical automation.
AI Slack Assistant
LangGraph + RAG over Slack history in Pinecone; cuts repeated questions and speeds onboarding for engineering teams.
Ingestion: Historical Slack threads are chunked and turned into embeddings, then stored in Pinecone so semantically similar messages sit near each other in vector space.
Retrieval (RAG): When someone asks a question in Slack, the bot embeds the query, runs a vector search against Pinecone, and pulls back the most relevant past messages or docs as context — not the whole channel history.
Orchestration: LangGraph models the flow as steps (e.g. retrieve → optionally refine → call the OpenAI API with that context). That keeps behavior debuggable and lets you gate tool calls or retries.
Answer: The model generates a reply grounded in retrieved Slack content, so answers line up with how your team actually discussed the topic — reducing blind searching and repeated “has anyone seen…” questions.
Old portfolio
Earlier multi-page portfolio and project showcase hosted on Netlify — work samples, layout experiments, and links to builds like the drum pad demo.
TaskTracker
Lightweight CLI task manager for small teams: interactive menu or individual scripts for create, list, status, reassign, team reports, and deletes — backed by PostgreSQL with optional Slack webhooks for notifications.
Stack: Python 3.8+, PostgreSQL via psycopg, config with python-dotenv, HTTP to Slack with requests. A .env holds ConnectionURI and optional SLACK_WEBHOOK_URL (never committed).
Bootstrap: Run db_connection.py once to initialize the database schema before first use.
Interactive mode: tasktracker.py launches a text menu for creating tasks, listing, updating status, reassigning, viewing “my” tasks, team status, and bulk/demo helpers — all operations hit Postgres.
Script mode: The scripts/ folder exposes one file per action (e.g. create_task.py, list_tasks.py, update_status.py) so you can automate or wire into other tools without the menu.
Slack: slack_notifier.py posts to the incoming webhook when tasks are created, statuses change, or reassignments happen; if the webhook is unset, Slack steps are skipped cleanly.
ls -R /tech_stack
Bachelor of Technology in Software Engineering — McMaster University (2023–2025) · GPA 3.8/4.0
Advanced Diploma in Computer Engineering — Humber College (2018–2021) · Dean's Honors List
establish_connection
Hiring, collaboration, or questions about my work — use the protocols or send a payload through the form.