Harsh Yadav.

Product Lead — Toronto

Product Lead in Toronto. Most recently I built a multi-tenant SaaS end-to-end in nine months at GEOS International, shipping biweekly with a five-person engineering team. Before that, two years at Borderless AI shipping client-driven features alongside engineering.

harshy4995@gmail.com LinkedIn GitHub

By the numbers

Numbers from a few stops along the way.

  • 9 mo Zero to revenue at GEOS, infra to launch.
  • −60% Support tickets, GEOS support hub.
  • ARR growth contributed at Borderless AI.
  • 30+ Client-driven features shipped.

Decisions

Bets & cuts.

  1. Shipped Borderless · 2024

    In-platform contract signing for Borderless contractors.

    Instead of: Sticking with the external signing tool — kept friction and a fragmented audit trail.

    Faster onboarding, unified audit trail; one of 30+ features in the layoff-recovery cycle.

  2. Shipped Borderless · 2024

    Proactive payment-failure email alerts.

    Instead of: A payment analytics dashboard — would have helped <10% of users (the rest just email support).

    Most payment tickets resolved without UI bloat.

  3. Shipped Borderless · 2024

    A Zendesk + Salesforce + Looker feedback pipeline.

    Instead of: Manual ticket sorting and hunch-driven prioritisation.

    Onboarding time −65% — the "bugs" turned out to be sales→CS handoff failures, not product.

  4. Shipped GEOS · 2025

    Supabase + a 22-table multi-tenant schema for GEOS.

    Instead of: Rolling custom auth and tenant isolation from scratch.

    9 months infra → revenue; engineers ship new integrations in ~1 hour vs ~1 day.

  5. Shipped GEOS · 2025

    n8n ops automation for repetitive internal work.

    Instead of: Building a custom admin panel.

    ~80% of ops work automated; a 5-person team shipped like 15.

  6. Shipped GEOS · 2025

    A support hub built from ticket-pattern analysis.

    Instead of: More product features that wouldn't have moved the support number.

    −60% support tickets.

Worked at

  • GEOS International
  • Borderless AI
  • GetNotissed Media

Stack & tools

  • PostgreSQL
  • Snowflake
  • Looker
  • Mixpanel
  • Datadog
  • Jira
  • Sentry
  • Git
  • GitHub
  • GitHub Actions
  • n8n
  • Figma

Selected Work

Six things I've built.

01 / AI

GEOS V1 AI Agent

An AI agent that inherits the platform's tenant isolation for free

  • AI
  • Product
  • B2B SaaS

The problem

GEOS clients manage legal entities across jurisdictions — entity status, compliance deadlines, document state, stakeholders. Day-to-day, “what’s the status of X?” meant clicking through three or four screens. Slow for them, expensive for us in support load.

A chatbot wrapper would have been the easy build: stick an LLM in a side panel, prompt it with some entity data, ship. Almost every B2B AI demo with that shape leaks across tenants the moment a question gets specific enough — and trust dies the first time a customer sees another customer’s data.

What mattered

  • No new security surface. The platform already had a 5-layer tenant isolation model. The agent had to inherit it, not work around it.
  • Auditable. Every model action had to be traceable to a specific user and a specific permission scope.
  • Honest scope. B2B users tolerate “I don’t have access to that” much better than wrong answers delivered confidently.
  • Shippable with our team size. Five engineers, bootstrapped. No room for a six-month spike on agent infra.

The bet

Route the agent through the platform’s existing API layer — not beside it.

The model doesn’t get database access. It calls a defined set of tools, and those tools call the same API endpoints the platform’s UI already uses. Whatever a logged-in user can see in the UI, the agent can see for them. Whatever they can’t see, the agent can’t either. RBAC, tenant isolation, audit trail — all inherited from a layer we’d already hardened.

The cut: free-form database access (faster to prototype, but a separate auth surface to maintain forever) and a standalone “AI service” with its own permission model (a permanent maintenance tax we couldn’t afford).

How I scoped the tool surface

The agent has tools, not a database. Each tool is a thin wrapper around an existing API endpoint:

  • Read entity info, compliance status, stakeholders, documents — for entities the user has access to.
  • Cannot query other clients’ data, perform admin operations, or reach anything outside the user’s permission scope.

I wrote the PRD with the tool surface as the core artifact, paired with engineering on the boundary checks, and paired with design on how answers render — citing sources, surfacing confidence, handling “I don’t know.”

What shipped

V1 went out as a product feature, not a chatbot. Tenant-isolated, RBAC-honoring, audit-logged. Clients started using it for the lookup work that used to mean three clicks. Support load on those question types dropped meaningfully even at V1 traffic.

The pattern travels: agent on top of existing APIs, not beside them. We didn’t build new infrastructure; we reused what worked.

What I’d do differently

Ship eval before scale. V1 didn’t have an explicit eval rubric — we caught regressions through manual spot-checks. Worked at low traffic; the moment we wanted to A/B prompt changes or upgrade models, we paid for that in catch-up. Next agent gets the rubric on day one.

Lock the answer-rendering contract earlier. The first design round let the model decide format. Customers wanted predictable structure (status pill, dates, source link) more than they wanted natural prose. Locking the rendering shape earlier would have saved iteration cycles.

02 / PRODUCT

GEOS Signature Queue

A signature queue clients actually use

  • Product
  • Workflow Design
  • B2B SaaS

The original signature functionality was a static table of documents with generic instructions. Adoption was low, and clients ended up coordinating with our team over email instead.

I talked to clients to find ideal workflows, and to our exec team about the internal processes the queue was supposed to mirror. I redesigned it as three separate step-by-step workflows, one per signing path, each mapped to our internal process so clients know what’s next and what we need from them.

After launch, signature queue adoption went up. Overall platform usage went up alongside it — which wasn’t the goal — as clients used the platform more for their documentation needs.

03 / PRODUCT

Borderless

A support article that replaced a feature

  • Product
  • Support
  • Content Strategy

Contractors kept opening tickets regarding payment delays. Every payment status has a specific meaning and timeline, but nowhere in the product did we explain them in one place.

I wrote an article to capture different statuses, timelines, and what to do at each stage. Then I worked with engineering to show it as a card on the Contractor payments page so contractors saw it before opening a ticket. Ticket volume on payment-status questions dropped.

Sharing this because not every customer problem needs a product fix. Sometimes it’s a knowledge gap, and providing the right information is the fix.

GoPulse home screen showing departures from Whitby GO with platform info, journey times, and service alerts

04 / PERSONAL

GoPulse

A GO Transit companion app (personal project)

  • Personal
  • Mobile
  • System Design

Before I began, I talked to regular GO Transit riders about what they actually need from an app. Then I researched other apps in the space to see what they did and what they missed. The gaps were consistent: apps were either general purpose, or they buried the things you actually need before leaving the house.

I built the app around that: live train tracking, platforms, delays, journey planning, and saved trains — all on one screen. I designed it and have AI write the code. The backend was designed for scalability:

  • Shared-data sync service. A microservice pulls shared data (schedules, stations, routes) in one scheduled call and writes it to my own database. Users query the database, not the upstream API — which saves on rate limits.
  • TTL cache on live data. On a weekday at 8am, when fifty riders on the same platform are checking the same train (common commute to Union), the first request hits the API, the next 49 hit the cache.

05 / AUTOMATION

N8N Workflows

Internal tooling that helped fix operational errors

  • Automation
  • Internal Tools
  • Ops

Two automations I built for the ops team.

  • Live DB → Google Sheets sync (Borderless). The team needed accurate data for reporting, reconciliations, and other operations. Without live data, they were working from stale exports — manual updates, occasional errors. I built an N8N flow that synced data from the database to a Google Sheet on a schedule. That data became the foundation for further automations and tools that reduced operational error and inefficiency.
  • Slack notifications for compliance events (GEOS). An enterprise client required compliance-event notifications in Slack. I built the workflow that listens for the right events and routes them to the right channels in their workspace.

Anything that affects customers — directly or indirectly — is a problem worth solving.

06 / AI

E-Signing API Reference

AI in a PM workflow

  • AI
  • Documentation
  • Engineering Enablement

Before we integrated an e-signature workflow, I used AI to go through the full API docs and identify which endpoints we’d actually need for our use case. Then I built internal reference documentation that included the endpoints we use, verified examples, and error responses. I also used AI + cURL to validate the responses against the live API.

I know Postman does similar work and I believe it’s in your stack. We didn’t have it at GEOS at the time, so this was an alternative — and an example of how AI can make a PM more useful to the engineering team and help them ship faster.

Operating principles

How I think about AI.

The right move is usually the cheapest path that solves the actual problem.

  • Validate before building

    Synthesize calls, tickets, and Slack into patterns. Test flows and designs in AI before engineering sees them. The PRD lands when the doodle survives.

  • Take work off engineering

    Bug triage with Sentry briefs before tickets reach eng. Vendor docs validated end-to-end with AI + cURL. Internal API references stripped to only what we use.

  • Automate ops, don't productize

    N8N + JS + a RAG agent for the CS team handled ~80% of repetitive internal work — without waiting for the admin panel ops asked for.

Word from the team

People I've worked with say.

[PLACEHOLDER — REPLACE] Replace this quote with a real testimonial. 20–420 chars. Speak to Harsh's collaboration, technical depth, or shipping cadence — whatever the person actually said.

[PLACEHOLDER — REPLACE] Senior Engineer · GEOS International

[PLACEHOLDER — REPLACE] Replace this quote with a real testimonial. 20–420 chars. Speak to Harsh's collaboration, technical depth, or shipping cadence — whatever the person actually said.

[PLACEHOLDER — REPLACE] VP Engineering · Borderless AI

Right now

Currently shipping.

Now

Building partner integrations and an in-product AI agent at GEOS.

Updated May 2026

Listening · Last 30 days

14
customer calls
9
support threads reviewed
22
partner Slack messages

Sourced from a Zendesk + Salesforce + Looker pipeline I built — feeds a daily Looker digest.

Updated May 2026