senior full-stack engineer

Farooq Lodhi

Rails · React · TypeScript — enterprise integrations, identity and AI agents inside Microsoft 365.

Germany·open to relocation within Germany or remote work

Portrait of Farooq Lodhi
10 yrsbuilding web products
5 yrsenterprise SaaS at Workpath
25epics delivered end to end
farooq@portfolio — ~

farooq@portfolio:~$cat summary.txt

role
Senior Full-Stack Engineer
focus
Integrations · Identity · AI agents
proof
Built Workpath's Teams app from scratch — now a Microsoft 365 Copilot agent
open to
Senior or staff roles · Germany or remote

About

I've been building web products for ten years. For the last five I've worked on a B2B strategy-execution SaaS used by large enterprises, where I became the engineer teams came to for integrations — Jira, Microsoft 365, Power BI and Teams — and for the OAuth, sync and reliability work that makes them hold up with real enterprise data.

Today I own features end to end: the spike and the design doc, the tickets, the backend, the frontend, and what happens in production afterwards. AI is part of how I work every day — MCP-connected Jira, GitHub, Confluence and Grafana, plus Claude Code skills for the repetitive parts — which lets one engineer carry a feature from idea to rollout without giving up on design, security or code review.

How I work

Contract before code

The interface spec comes first — request and response shape, error cases, rollout order — so the frontend and neighbouring teams build against it while I'm still implementing. Four of those specs went to other teams before the code existed.

Ship behind a flag

Nothing reaches every tenant at once. Feature flags, staged per-tenant rollouts and backwards-compatible migrations, with a dashboard open during the rollout so a problem shows up as a number rather than a support ticket.

AI with guardrails

Agents never commit, push or write to a tracker without explicit permission, and approving a plan doesn't authorise its side effects. The human stays accountable for what lands.

Selected work

Workpath helps large companies plan and track strategy through goals, key results and KPIs. My focus was connecting it to the tools teams already use — and keeping the platform, its authentication and its AI channels reliable.

Built the Microsoft Teams app from scratch and grew it from a tab and notification bot into a conversational agent that creates and updates OKRs without leaving Teams.

  • Led it from first prototype to Copilot agent, owning the architecture, auth and release decisions throughout.
  • Rebuilt the bot as a channel-agnostic proxy: SSE streaming rendered as Adaptive Cards, with citations, follow-up chips, write-confirmation cards and feedback capture.
  • Declared it a Microsoft 365 Copilot custom engine agent and took it through Teams Store and Copilot review.
  • Multi-tenant SSO inside Teams, Azure Key Vault secrets, CI with secret scanning, and a release runbook with six engineers who can all ship it, so no release depends on one person.
Microsoft TeamsCopilotAdaptive CardsSSERailsTypeScript

OAuth 2.0 platform and enterprise identity

2026

Designed and built the identity layer behind Workpath's AI channels — the MCP server, the Teams app and the in-app agent — after a spike of the existing auth.

  • Designed the schema and built the backend and frontend in Rails/Doorkeeper and React: SAML and Google SSO, PKCE, refresh and revocation, per-account app management.
  • Added RFC 8693 token exchange so the agent calls MCP tools as the signed-in user, with tokens tied to and revoked with the web session.
  • Built Entra ID On-Behalf-Of for enterprise customers: nine-step token verification, no customer credentials stored, hourly re-validation.
  • Migrated the Teams app off its legacy auth without disrupting customers, and cleaned up the token lifecycle.
OAuth 2.0DoorkeeperSAMLPKCEEntra IDMCP

Built, maintained and kept the Jira integration current across every Atlassian release.

  • Every Jira issue type maps to an initiative, linking works from Workpath and from inside Jira, and existing links migrate automatically.
  • Led the 2025 rewrite and the move from Atlassian Connect to Forge, with the deployment guide for the new model.
  • Built and maintained the Jira Data Center Java plugin through Jira 10.3: key results linked to epics, dark-theme support, vulnerability fixes and Marketplace release runbooks.
Jira CloudForgeJira Data CenterJavaOAuth 2.0

Key results from Power BI, Excel and Planner

Workpath

Key results and KPIs that update themselves from the data teams already have, instead of being typed in by hand.

  • Built a visual picker and a DAX query generator on the Power BI REST API — multiple measures, calculated columns, filters and cross-filtering — with preview and scheduled sync.
  • Handled the cases Power BI's embed SDK can't: turning a selected visual into a query the backend can re-run.
  • Built the Excel Online integration and the backend sync for Microsoft Planner tasks, including Graph batch requests with 429 and 502 handling.
Power BIDAXMicrosoft GraphEntra IDRails

Reliability and observability

2023 – 2026

Making integrations hold up in production, and measuring it instead of assuming it.

  • Built a 20-panel Grafana/Loki dashboard for the auth rollout that separates token failures from user-provisioning problems and spots misconfigured clients by issuer and audience.
  • Built the observability library the integration code uses today, and moved noisy upstream 502s out of Sentry into structured logs.
  • Hardened the token lifecycle: revocation on sign-in, sign-out and deactivation, refresh-token rotation and scheduled cleanup.
  • Co-managed production incidents and wrote the postmortems, including an SSO certificate-expiry incident and a platform outage.
GrafanaLokiSentryIncident response

Engineering practice and cross-team delivery

2022 – 2027

The work around the code that let several teams ship into the same platform without stepping on each other.

  • Delivered 25 epics end to end, 9 of them solo with sparring from the CTO, and shipped behind Flipper flags with staged per-tenant rollouts.
  • Authored 553 pull requests across 7 repositories and reviewed around 850 for 15 colleagues.
  • Authored 20+ design docs, RFCs and runbooks, and published four cross-team interface specs: agent token exchange, MCP identity exchange, Entra token verification and the Teams/Copilot contract.
  • Hosted Frontend Weekly and knowledge-sharing sessions, ran problem-solving sparring, and supported enterprise admins through integration setup.
Design docsRFCsMentoringRelease management

Experience

From backend services in Lahore to enterprise product engineering in Munich.

Senior Full-Stack Engineer

Feb 2022 – Jan 2027

Workpath · Munich, Germany

B2B SaaS for strategy execution — goals, key results, KPIs and initiatives — serving ~90 enterprise tenants and ~5,000 weekly users on ~21M API requests a month. Full-stack ownership across the Rails API, the React web app and the Microsoft Teams app.

  • Built the Teams app from scratch and led it into an AI agent in Teams and Microsoft 365 Copilot.
  • Designed and built the OAuth 2.0 platform for MCP clients, the Teams app and the in-app agent, including Entra ID On-Behalf-Of.
  • Built the Jira Cloud integration and its Forge rewrite, and maintained the Jira Data Center Java plugin.
  • Built the Power BI and Excel Online integrations and the Planner backend sync.
  • Delivered 25 epics end to end (9 solo), shipped behind flags, and reviewed around 850 pull requests.
Ruby on RailsReactTypeScriptPostgreSQLRedisSidekiqAzureMicrosoft Graph

Senior Software Engineer

May 2021 – Feb 2022

10Pearls · Islamabad, Pakistan

Built a cloud reporting and record-management platform for a large US law firm (250+ attorneys) from scratch.

  • React and TypeScript frontend with 15+ reusable components, Power BI report embeds and PDF exports.
  • Around eight .NET Core APIs behind it.
  • Cut a data-scraping job's runtime by 30% by replacing its third-party library.
ReactTypeScript.NET CorePower BI

Senior Software Engineer

Sep 2019 – Apr 2021

Confiz · Lahore, Pakistan

  • Built the React/TypeScript frontend for a warehouse scheduling and inventory product used by a Fortune 500 pharmacy chain with 9,000+ stores.
  • Migrated a global food multinational's intranet CMS from .NET MVC and jQuery to React across 100+ countries.
ReactTypeScript.NET MVCBootstrap

Software Engineer

Feb 2018 – Aug 2019

Netsol Technologies · Lahore, Pakistan

  • Backend engineer on a vehicle-finance platform used by 8,000+ daily users; built around twelve web services and supported UAT.
C#.NETSQL

Software Engineer

Jan 2017 – Feb 2018

E-strats · Islamabad, Pakistan

  • Built frontend features and around fifteen APIs for a field-service SaaS used by 30+ US companies.
  • Improved page load time with bundling, AJAX and CDNs.
JavaScript.NETSQL

Skills

Backend
Ruby on RailsRubyNode.jsC#/.NETPostgreSQLRedisSidekiqGraphQLRSpecDoorkeeper
Frontend
ReactTypeScriptTanStack QueryReduxstyled-componentsViteJestReact Testing Library
Integrations
Jira Cloud & DCMicrosoft GraphTeamsCopilotPower BIPlannerExcel OnlineOAuth 2.0SAMLPKCEEntra IDMCP
Platform
Azure App ServiceCosmos DBKey VaultBlob StorageDockerGitHub ActionsFlipper
Observability
GrafanaLokiSentryIncident responseRoot-cause analysisPostmortems
AI-native
MCPClaude CodeCLAUDE.md conventionsTool useStreaming
Languages
English (C2)German (A1, telc)Urdu (native)

Education

2012 – 2016

BSc Computer Science

FAST-NU, Islamabad

2024

EuRuKo 2024

European Ruby Conference, Sarajevo

Certificate

German A1 — telc

telc language certificate

Recommendations

Colleagues I've worked with have written recommendations on LinkedIn — engineers, leads and the people whose code I reviewed. LinkedIn keeps them behind a sign-in, so the link opens my profile's recommendations tab directly.

Read recommendations on LinkedIn

Let's talk.

The best way to reach me is by email or on LinkedIn. I'm based in Germany and open to relocation within Germany or remote work.

farooq.lodhi2205@gmail.com