Abhiram Shaji

Software Engineer · AI Systems · Forward-Deployed Engineering

Montreal, QC · Open to relocation across Canada

236-255-3669 · write4abhiram@gmail.com

LinkedIn · GitHub · Portfolio

Selected Engineering Achievements
  • Merged upstream contributions to Google ADK, AWS CDK CLI, AWS Bedrock AgentCore, Genkit, Tailscale and PR-Agent. Fixed workflow-history, deployment and agent-memory bugs; added regression coverage to the Google and AWS fixes.
  • Lead author of Botpress's Shopify agent kit and creator of Agentic Reporter. Build customer-facing AI systems and reusable delivery tools; also created Architect, an open-source desktop application for reviewing coding-agent changes.
Experience

Software Engineer

Botpress

Montreal, QC

Software engineering and enterprise AI delivery

  • Build and maintain TypeScript agents using the Botpress ADK, translating customer requirements into architecture, API integrations, integration tests and production handoff.
  • Lead development of a reusable Shopify agent kit for product search, orders, returns and human handoff. Implemented three autonomy levels, human approval for refunds by default and 15-minute confirmation expiry.
  • Automated store onboarding from a URL, including store-profile generation, checks against source prices and policies, typechecking, tests, deployment and draft pull-request creation.
  • Designed, built and maintain Agentic Reporter for separate bot and company-policy CSAT scores, outcomes and semantic topics. Compute report figures in code; reject and retry drafts that cite unsupported numbers.
  • Versioned grading prompts by hash to re-evaluate only changed questions. Added regrading limits, client/model cost tracking and reversible, append-only CSAT overrides.
  • Maintain shared enterprise agent packages and delivery workflows. Built evaluations that test deployed agents through their communication channels and grade responses with LLM judges.
  • Selected client delivery work. Visit London: live booking integrations with LTD and Ventrata APIs. Yamaha Motor Mexico: WhatsApp lead generation. Upside Drinks: bilingual French/English Shopify shopping assistant.

Shopify agent kit case study: worksofabhiram.live/botpress-ecommerce-shopping-agent-kit-case-study

Agentic Reporter case study: worksofabhiram.live/agentic-reporter-csat-agent-case-study

Client case studies: worksofabhiram.live/work

Software Engineer

Deloitte USI Consulting

Bangalore, India

Application development and automation

  • Built automation for Aflac to categorize and route insurance claims requiring revision; developed internal dashboards, backend services and Selenium regression automation using .NET, JavaScript and SQL.
Technical Skills

Languages: TypeScript, JavaScript, Python, SQL, Bash.

Application development: Node.js, React, Next.js, .NET, PostgreSQL, REST APIs.

AI systems: Botpress ADK, MCP, tool calling, RAG, semantic search, structured extraction, LLM evaluation, human handoff.

Tools: Git, GitHub Actions, Vitest, Jest, pytest, Selenium, Claude Code, Codex.

Merged Open Source Contributions

Google Agent Development Kit · TypeScript · Merged PR #1169

Fixed workflow inputs being saved as user-authored chat messages. Added temporary session input, cleanup in finally, and a regression test using the real Runner and session service.

github.com/google/adk-js/pull/1169

AWS CDK CLI · TypeScript · Merged PR #2107

Fixed repeated single-value CLI options that could cause deployment to do nothing while exiting successfully. Added early validation and regression tests while preserving intentionally repeatable options.

github.com/aws/aws-cdk-cli/pull/2107

AWS Bedrock AgentCore SDK · Python · Merged PR #718

Fixed memory serialization crashes involving binary reasoning content. Added lossless encoding and decoding, with a regression test verifying that stored messages restore the original bytes.

github.com/aws/bedrock-agentcore-sdk-python/pull/718

Genkit · TypeScript · Merged PR #6956

Corrected repeated registration of plugin-provided tools.

github.com/genkit-ai/genkit/pull/6956

PR-Agent · Python · Merged PR #4603

Added commit-message context to AI review prompts, with token limits and untrusted-input boundaries.

github.com/The-PR-Agent/pr-agent/pull/4603

Tailscale GitHub Action · TypeScript · Merged PR #321

Normalized version inputs and rejected malformed versions before installation.

github.com/tailscale/github-action/pull/321

Engineering Projects

Architect · Creator and maintainer · Electron, TypeScript, MCP

Built a desktop application for architecture contracts, call-graph navigation and Git worktree review. Implemented dependency and cycle checks, PageRank-based function ranking, and optional human approval of Claude Code edits through PreToolUse hooks.

github.com/abhiramshaji-cyber/Architect

AI-assisted development workflow · Bash, Git worktrees, Claude Code

Built lifecycle hooks for checkout isolation, parallel-worker file locking and change-review gates. Documented 28 guard test cases, bypasses and enforcement limits.

worksofabhiram.live/claude-code-harness-hooks-codex-case-study

The Digital Uplift · Co-founder and developer · Next.js, React

Co-founded a student web-development studio and built its website with shadcn/ui, contact and booking flows, Google Analytics and SEO-focused routing.

digitaluplift.ca · github.com/abhiramshaji-cyber/the-digital-uplift

Education

Digital Design and Development Post-Graduate Diploma (Master's equivalent)

North Island College

British Columbia

Mobile App Development stream

Bachelor of Computer Applications

Bangalore University

India

Work Authorization

Authorized to work in Canada without employer sponsorship through February 2028.

Cover Letter

Dear Hiring Team,

I build and maintain production AI software at Botpress, and I have contributed fixes merged into Google's Agent Development Kit and the AWS CDK CLI.

At Botpress, I lead development of a reusable Shopify agent kit covering shopping, orders, returns and human handoff. My work includes automated store onboarding, checks against source prices and policies, and approval controls for refunds. I also designed and built Agentic Reporter, a conversation analytics product that computes report figures in code and rejects generated drafts containing unsupported numbers.

My upstream contributions provide public examples of how I approach correctness. In AWS CDK, I fixed repeated CLI arguments that could cause a deployment to perform no work while returning a successful exit code. In Google ADK, I fixed internal workflow inputs being persisted as messages the user never sent. Both changes were merged and include regression tests. The pull requests document the failure cases, implementation choices and tests.

I'm looking for a role where I can take responsibility for production software, work directly with the people using it, and turn recurring problems into reusable tools. I would welcome a technical discussion of these systems and the decisions behind them.

Abhiram Shaji