{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "name": "Allan Mascarenhas",
  "url": "https://allanmascarenhas.com",
  "jobTitle": "Software Engineer III",
  "worksFor": "OpenGov India Private Limited",
  "location": "Pune, India",
  "email": "allan.mascarenhas9@gmail.com",
  "telephone": "+918793712722",
  "sameAs": [
    "https://www.linkedin.com/in/allanmascarenhas"
  ],
  "resume": "Available on request",
  "summary": [
    "I modernize systems that can't go down—enterprise .NET, React, and cloud platforms—and I build AI into how the team ships, not beside it.",
    "Nine years turning expensive, fragile, or manual software into systems people can actually run. Government, healthcare, FinTech, travel, and operations.",
    "Right now I work on OpenGov's tax and revenue platform: migrating .NET Framework to .NET 8, replacing Razor and jQuery with React, rebuilding import pipelines to handle 400k-record datasets asynchronously, collapsing Azure sprawl into multi-tenant architecture, and shipping AI skills the team uses for reviews, tests, and daily development."
  ],
  "metrics": [
    {
      "value": "9+",
      "label": "Years shipping production systems"
    },
    {
      "value": "400k",
      "label": "Records per import run, without timeouts"
    },
    {
      "value": "90→1",
      "label": "Azure App Services consolidated"
    },
    {
      "value": "70%",
      "label": "Infrastructure cost removed"
    }
  ],
  "selectedWork": [
    {
      "title": "30+ Razor pages moved to React, with no downtime window",
      "category": "Platform migration",
      "description": "Led the migration off .NET Framework 4.6.1 and Razor onto .NET 8 and React, on the system public agencies run their budgets on. Every page ships behind a feature flag with a legacy escape hatch.",
      "stack": [
        ".NET 8",
        "React",
        "TypeScript"
      ]
    },
    {
      "title": "Imports that stopped falling over at 400k records",
      "category": "Throughput",
      "description": "Rebuilt six synchronous, browser-blocking pipelines as background jobs with live progress. Then traced the recurring out-of-memory crashes to in-memory spreadsheet parsing and made that failure structurally impossible.",
      "stack": [
        "Hangfire",
        "SignalR",
        "SQL Server"
      ]
    },
    {
      "title": "90+ Azure App Services collapsed into one",
      "category": "Cloud architecture",
      "description": "Redesigned the hosting model as a single multi-tenant App Service. Infrastructure cost dropped 70%, and releases became one automated path instead of ninety.",
      "stack": [
        "Azure",
        "Multi-tenant",
        "CI/CD"
      ]
    },
    {
      "title": "An agentic reviewer that reads every core change",
      "category": "AI engineering",
      "description": "Shipped the PR review skill the team now develops behind—correctness, security, and standards checked before a human looks. Shared infrastructure, not a personal shortcut.",
      "stack": [
        "Claude Code",
        "Cursor",
        "AI SDLC"
      ]
    }
  ],
  "principles": [
    {
      "title": "Build it once, use it everywhere",
      "body": "When I rebuilt six import pipelines, I wrote the Hangfire + SignalR + staging pattern once and applied it six times. The seventh one takes an hour, not a sprint."
    },
    {
      "title": "Fix the root cause, not the symptom",
      "body": "Recurring out-of-memory crashes traced back to in-memory Excel parsing. Replaced it with a streaming reader. That entire class of failure is now structurally impossible."
    },
    {
      "title": "Make the infrastructure do the work",
      "body": "Feature flags, automated reviews, and CI pipelines mean the system enforces standards and the team doesn't burn cycles on process. AI as infrastructure, not as a chat window."
    },
    {
      "title": "Tests aren't overhead",
      "body": "398 tests in one sprint. The migration shipped with Playwright coverage because untested pages don't migrate—they get rewritten twice."
    }
  ],
  "approach": [
    "Most of the leverage in software is not a new framework. It is making the next change cheaper than the last one: clearer boundaries, fewer moving parts, tests that encode the contract, deployments nobody has to shepherd.",
    "I use AI the same way. Not as a chat window beside the work, but as infrastructure inside it—skills for review, tests, and scaffolding, constrained by the team's architecture and taste. Spec-Kit and OpenSpec-style specs, an explicit review bar, and an AI-aware SDLC are how generation stays useful instead of noisy.",
    "That is also how I lead: I still write the important code. I make the system around it something a team can run without me in every loop."
  ],
  "experience": [
    {
      "company": "OpenGov India Private Limited",
      "title": "Software Engineer III",
      "location": "Pune, IN",
      "start": "2025-01",
      "end": null,
      "current": true,
      "highlights": [
        "Led the migration from .NET Framework 4.6.1 to .NET 8, and from Razor and jQuery to a React 18 and TypeScript SPA—30+ pages so far, each behind a feature flag with a legacy fallback and Playwright coverage.",
        "Consolidated 90+ Azure App Services into a single multi-tenant App Service, cutting infrastructure cost by 70%.",
        "Rebuilt six synchronous import pipelines as asynchronous Hangfire jobs with SignalR progress, so 400k-record datasets process in the background instead of timing out in the browser.",
        "Root-caused recurring OutOfMemoryException failures to in-memory Excel parsing, replaced it with a streaming reader, and shipped a same-day production hotfix.",
        "Built the LaunchDarkly feature-flag service the platform now uses for gating, targeting, and percentage rollouts.",
        "Shipped an agentic PR review skill as shared team infrastructure, checking correctness, security, and standards on every core-module change.",
        "Delivered customer-specific systems end to end, including Hawaii County's property tax loan platform and installment-aware charge grouping for Amsterdam, NY.",
        "Automated deployments with CI/CD pipelines and scripts, and contribute to architecture decisions and CRD resolution."
      ]
    },
    {
      "company": "Coditas Solutions LLP",
      "title": "Tech Lead",
      "location": "Pune, IN",
      "start": "2023-10",
      "end": "2025-01",
      "current": false,
      "highlights": [
        "Shipped work across Healthcare, FinTech, and Sales as both a lead and an individual contributor.",
        "Refactored production applications to run about 80% faster than the systems they replaced.",
        "Modernized legacy WebForms applications onto React and .NET 8 without pausing delivery."
      ]
    },
    {
      "company": "Coditas Solutions LLP",
      "title": "Senior Software Developer",
      "location": "Pune, IN",
      "start": "2023-01",
      "end": "2023-09",
      "current": false,
      "highlights": [
        "Built microservice-oriented work in Sales and Travel.",
        "Designed integrations that reduced multi-step human processes to a single click, including a custom SSO authentication library.",
        "Led a team of five while remaining hands-on, picking up unfamiliar technologies when the project required it."
      ]
    },
    {
      "company": "Coditas Solutions LLP",
      "title": "Software Developer",
      "location": "Pune, IN",
      "start": "2020-12",
      "end": "2022-12",
      "current": false,
      "highlights": [
        "Delivered scheduling and label-printing systems that cut user time by about 75% and removed configuration toil.",
        "Set up ETL from on-premises databases to the cloud, bringing sync latency close to zero."
      ]
    },
    {
      "company": "Sciffer Analytics Private Limited",
      "title": "Senior Software Developer",
      "location": "Pune, IN",
      "start": "2019-04",
      "end": "2020-12",
      "current": false,
      "highlights": [
        "Owned a Fleet Management FinTech product from architecture through delivery.",
        "Compressed a 3–5 week feature cycle into immediate user execution, removing the developer from the loop.",
        "Managed a team of five, coordinated with Android engineers, and ran the project's DevOps."
      ]
    },
    {
      "company": "Sciffer Analytics Private Limited",
      "title": "Software Developer",
      "location": "Pune, IN",
      "start": "2018-04",
      "end": "2019-03",
      "current": false,
      "highlights": [
        "Built studio management and allocation for an entertainment product, moving a fully manual process to semi-automation.",
        "Led the project from architecture through delivery with a team of three."
      ]
    },
    {
      "company": "Sciffer Analytics Private Limited",
      "title": "Intern",
      "location": "Pune, IN",
      "start": "2017-08",
      "end": "2018-03",
      "current": false,
      "highlights": [
        "Maintained a Node.js and Meteor codebase while also shipping PHP and .NET.",
        "Contributed to requirement gathering and documentation."
      ]
    }
  ],
  "skills": {
    "Systems": [
      "C#",
      ".NET / .NET Core",
      "MVC",
      "Hangfire",
      "SignalR",
      "Python",
      "REST",
      "SOAP",
      "Entity Framework Core"
    ],
    "Interface": [
      "React",
      "TypeScript",
      "TanStack Query",
      "JavaScript",
      "HTML / CSS",
      "Blazor",
      "React Native"
    ],
    "Data": [
      "PostgreSQL",
      "MSSQL",
      "MySQL",
      "MariaDB",
      "MongoDB",
      "Redis"
    ],
    "Cloud & delivery": [
      "Azure (Cloud + DevOps)",
      "Azure Blob Storage",
      "AWS",
      "GCP",
      "Docker",
      "CI/CD",
      "LaunchDarkly",
      "Jenkins",
      "Apache Airflow",
      "ELK"
    ],
    "Identity": [
      "Auth0",
      "SSO",
      "SAML 2.0",
      "OAuth 2.0",
      "OIDC",
      "JWT",
      "Active Directory",
      "SP- and IdP-initiated auth"
    ],
    "AI": [
      "OpenAI",
      "Claude",
      "Copilot",
      "Llama",
      "Perplexity",
      "Cursor",
      "AI SDLC",
      "Spec-Kit",
      "OpenSpec"
    ],
    "Quality": [
      "TDD",
      "xUnit",
      "NUnit",
      "Moq",
      "Jest",
      "Vitest",
      "Playwright",
      "Design patterns"
    ]
  },
  "education": [
    {
      "school": "Savitribai Phule Pune University",
      "credential": "Master of Computer Applications",
      "short": "MCA",
      "location": "Pune, IN",
      "end": "Apr 2018",
      "score": "71.18%"
    },
    {
      "school": "Savitribai Phule Pune University",
      "credential": "Bachelor of Computer Applications",
      "short": "BCA",
      "location": "Pune, IN",
      "end": "Apr 2015",
      "score": "70.88%"
    }
  ],
  "certifications": [
    "Mobile Rapid Prototyping",
    "Scaling Web Apps with Cosmos DB",
    ".NET Core Microservices",
    "Entity Framework in Depth"
  ]
}