Hi, I'm
P. Goutham
Senior Full Stack Engineer, AI-Focused
Senior Full Stack Engineer with 8+ years of experience designing and building scalable web and mobile products across fintech, e-commerce, and enterprise financial services — remotely collaborating with distributed teams across India, the UK, the US, and Australia. Currently serving concurrently as Solution Architect for an early-stage property-tech startup alongside a senior engineering role at MassMutual. Deep expertise in Node.js, TypeScript, React, system design, and microservices architecture, using Agile/Scrum practices and Amazon Web Services (AWS). Increasingly focused on applied AI engineering: architecting GenAI-powered product features (conversational search, prompt-engineered content generation) on a live platform, and building AI-assisted development practices (Cursor, Claude Code, GitHub Copilot/Codex, Google Antigravity) into daily engineering work — recognized with a Best in Class award at an internal AI hackathon and by facilitating a GenAI workshop for a 30-plus-person non-engineering audience. Track record of driving architecture decisions, modernizing legacy systems, and shipping internal developer tooling. Active open-source maintainer of ReactFill and ReactDriver, both published on npm.

01. About
Core Competencies
02. Skills
Technical Skills
Languages
Frontend
Backend & Data
Cloud & DevOps
Architecture & Practices
Payments & Analytics
Developer Tooling
AI-Assisted Development
03. Projects
Selected Work
Multi-App Property Platform
0-to-1 architecture, stealth-mode startup (India)
Architected and built a property-tech platform from scratch as sole solution architect — three Next.js frontends (user search, agent portal, admin) over a shared Fastify/TypeScript/MongoDB backend, live on Vercel in about 10 months.
- Each of the three backend apps (user, agent, admin) can run standalone or as a single unified server, sharing core logic through a common module layer designed to split into separate services later if scale requires it.
- Set up Vercel deployment pipelines with GitHub Actions preview environments across all three frontends, plus Sentry error monitoring and SEO/GTM automation for internal tooling.
AI Property Concierge
GenAI-powered conversational search, stealth-mode startup
A chat-based concierge on AWS that finds, filters, and recommends property listings conversationally — replacing traditional filter-driven search with a natural-language interface.
- Understands free-text preferences (budget, location, room type) and maps them onto the platform's structured property filters to return relevant matches.
- Built as a discrete AWS-hosted service so it can evolve independently of the core booking/listings API.
Serverless Payments Pipeline
Razorpay + Lambda webhook processing, stealth-mode startup
A full payments system built on Razorpay, with a serverless webhook listener on AWS Lambda (via the Serverless Framework) that processes payment events asynchronously instead of blocking the main API on webhook delivery.
- Decouples payment-event handling from the request/response cycle of the core API, so a slow or retried webhook can't back up regular traffic.
- Deployed and scaled independently of the main Fastify backend, using AWS Lambda's pay-per-invocation model for a workload that's bursty by nature.
Real-Time Flatmate Chat
Ably-powered messaging, stealth-mode startup
Real-time chat between matched flatmates/roommates, built on Ably rather than a hand-rolled WebSocket layer, so presence and delivery guarantees came for free instead of being reinvented.
- Presence detection, typing indicators, and message reactions on top of Ably Chat's React SDK, wired into the platform's flatmate-matching and connection-request flow.
- Paired with face-detection screening (face-api.js) on profile image uploads to keep the matching pool free of low-quality or inappropriate photos.
ReactFill
Schema-driven, CSS-framework-agnostic form builder for React
968 npm downloads (past year) · 8 GitHub stars
Pass a JSON schema, get a fully functional form — built on React Hook Form for battle-tested form state with zero re-render overhead. Proposed at MassMutual and maintained as a customized fork tailored to internal practices, compressing roughly 2 months of sprint-planned form work into about 2 weeks and earning team recognition.
- 18 field types out of the box — text, select, file, slider, rating, repeatable field arrays, grouped fieldsets, and multi-field rows — plus async/dependent options via getOptions, apiEndpoint, and dependsOn.
- Conditional show/hide/require/disable logic with AND/OR groups and 6 operators, a built-in multi-step wizard with per-step validation, and a formRef escape hatch exposing the full React Hook Form API.
- Tree-shakable via a custom fieldRegistry (ship only the field types you use), and accessible by default — proper ARIA attributes and WCAG AA contrast on every field.
ReactDriver
Schema-driven guided product-tour library for React
404 npm downloads (past year) · 2 GitHub stars
Built on driver.js for the spotlight/overlay/popover engine, with a React-first layer of typed tour config on top. Proposed at MassMutual and maintained as a customized fork powering guided tours across both the Portal and UMA applications in production.
- Cross-route tours via beforeNext/afterNext/waitForTarget hooks, action-driven steps (advanceOn, canAdvance, autoAdvanceAfter), and mobileOverrides for responsive step content.
- Persistence and scheduling — resume progress, cap show count, re-show on a version bump, or delay by time/visits/idle — plus a global tour registry and useTourSequence for chaining multiple tours.
- Built-in analytics adapters for PostHog, Segment, Mixpanel, and Amplitude, and testing utilities for mocking TourControls cleanly in Vitest/Jest.
UMA (User Management App)
Greenfield internal application, MassMutual
Played a pivotal role standing up UMA as a greenfield application from scratch — React front end, Express/Node backend, Sequelize ORM. Now in production alongside the MMSD Portal, with guided product tours powered by a ReactDriver fork.
- Sequelize ORM over an RDS Postgres cluster in hosted environments and SQLite for local development, with migrations run automatically before boot in every non-local environment.
- A local-override workflow for the shared DSP component library lets changes there be tested against UMA without cutting a new library version first.
- Ships as a single Express server that serves the built React app statically in production, with database credentials pulled from AWS Secrets Manager rather than checked-in config.
Hierarchy Tool
Internal QA tool, MMSD Portal
Introduced a Hierarchy Tool giving MassMutual home-office users a clear view into agent hierarchy and product info for QA purposes. Quickly became a heavily used internal feature and is being rolled out to production for an initial group of home-office users, with plans to expand to a wider audience.
- Look up a firm by business-partner ID (bpId) and render its structure as a D3-powered hierarchy tree, or run two bpIds side by side in compare mode.
- A companion data viewer surfaces line-of-business, role, and relation badges per firm so QA can inspect product/role enablement without querying backend systems directly.
Snyk Auto-Fix
Org-wide, webhook-driven vulnerability remediation
An org-wide Node.js/Express/Octokit service that listens for Snyk vulnerability webhooks — instead of scanning on every PR commit — and automatically raises a GitHub PR with the fix. Moving off per-commit scanning to a webhook-driven model cut scanning costs drastically while keeping remediation just as fast.
- Verifies each webhook's HMAC signature, batches issues per repo over a configurable window so a burst of events becomes one PR, and skips duplicates and Snyk-ignored issues.
- Direct dependencies get a normal npm install --save bump; transitive ones get an overrides/resolutions entry instead — with a preflight check for peer/engine conflicts before anything is dispatched.
- Three risk tiers (safe, major-bump, out-of-range) route straight to a normal PR or a draft PR labeled snyk-needs-review; the tool itself never merges or installs — a GitHub Actions workflow in the target repo does that and posts the PR number back via a signed callback.
- Auto-closes PRs for issues Snyk later marks resolved, cleans up stale PRs past a configurable age, and posts to Slack — with per-project policy (severity threshold, allow/deny list, major-version policy) defined in a central registry.
snyk-daily-check
Scheduled macOS Snyk scanner with unlock-triggered alerts
A macOS tool that runs `snyk test` across a configured list of local repos concurrently and only surfaces a modal alert when high/critical issues turn up — no more manually re-running Snyk on every repo each morning. A companion VS Code extension (vscode-snyk-check) wraps the same script's `--json` mode in a sidebar panel, so findings show up right in the editor without a terminal.
- Scheduling uses launchd's StartCalendarInterval rather than cron (deprecated on macOS for GUI-facing jobs) — missed runs during sleep coalesce into a single catch-up alert as soon as the Mac wakes, unlike a plain interval timer which would just drop them.
- An optional unlock-watcher — a persistent JXA process wired to the undocumented com.apple.screenIsUnlocked notification — triggers an immediate scan the moment the screen unlocks, independent of the schedule.
- Alerts use an AppleEvents modal dialog instead of a Notification Center banner, sidestepping per-app notification permissions that silently default to off for scripts and cron-style jobs.
- One shared results parser feeds both the macOS dialog and the VS Code extension's JSON consumer, so there's a single source of truth for issue data (package, current/fix version, advisory link, dependency chain).
login-helper
Chrome extension for multi-account login automation
A Chrome extension that auto-fills and submits login forms across multiple accounts, browser profiles, and environments — cutting out the repetitive re-login flows that come with juggling dev/staging/prod and test accounts day to day.
- Profiles activate automatically by URL pattern; a searchable, keyboard-navigable picker (Cmd/Ctrl+Shift+L) lists accounts by role, with per-user password overrides on top of a shared profile password.
- Bulk-load accounts via CSV/TSV or JSON with auto-detected delimiters, and back up or restore every profile as a single JSON export.
Blueprint-X
Multi-framework internal design system (proposal & demo)
Designed and proposed as MassMutual's next-generation, multi-framework design system to remove external vendor dependencies and give the org its own design library — a token layer, a base React component set, theme adapters for Ant Design and MUI, and a codegen'd icon pipeline, run as a pnpm monorepo with Storybook and visual regression tests.
- Presented to the existing Blueprint maintainers and leads; the outcome favored bringing similar standards into the existing Blueprint repos over adopting an entirely new system, with strong appreciation for the initiative and intent.
- Built independently from the ground up as a working proof of concept — tokens, base components, and two framework-specific theme layers — rather than a slide-deck pitch.
04. Experience
Professional Experience
Solution Architect · Stealth-Mode Property-Tech Startup (India)
Sep 2025 – PresentHyderabad, India · Remote
Acting as sole solution architect for an early-stage property-tech platform in India, taking it from 0 to 1 solo in about 10 months — three Next.js frontends over a shared Fastify/MongoDB backend, with real-time chat, AI-assisted search, and a full payments system.
- Architected a unified backend where three domain apps (user-facing, agent portal, admin) can run independently or as one combined server, sharing core logic through a common module structure designed to split cleanly into separate services later if scale requires it.
- Built three Next.js 16 / React 19 frontends (user-facing property search & ads, agent portal, admin tooling) over a Fastify + TypeScript + MongoDB backend, and set up Vercel CI/CD with GitHub Actions preview deployments.
- Built an AI-assisted chat concierge on AWS that finds, filters, and recommends properties conversationally instead of through traditional search filters.
- Built a full payments system on Razorpay, backed by a serverless (AWS Lambda, Serverless Framework) webhook listener that processes payment events asynchronously.
- Integrated Ably for real-time chat between matched flatmates/roommates, including presence detection, typing indicators, and message reactions.
- Added face-detection screening (face-api.js) to catch low-quality or inappropriate profile images at upload, alongside an image/video upload pipeline for property listings.
- Wired up OTP-based authentication (MSG91 for SMS, AWS SES for email), Sentry error monitoring, and SEO/GTM automation; a React Native + Expo mobile app is in progress.
Senior Associate · MassMutual Global Business Services India
Feb 2025 – PresentHyderabad, India · Hybrid
Own feature delivery and developer tooling for the MMSD Portal and UMA — from QA infrastructure and internal tools to TypeScript/build migrations and two open-source libraries running in production.
- Identified a critical bottleneck in MMSD Portal testing caused by repeated Okta login/logout cycles, then designed and implemented a QA user-switch capability that cut testing effort by ~50% across Dev, QA, and Product teams.
- Introduced a Hierarchy Tool giving home-office users visibility into agent hierarchy and product info for QA purposes; now being rolled out to production for an initial group of home-office users.
- Led the Portal's JavaScript-to-TypeScript migration across a 4-person team (2 leads — one based in the US, one in India — and 2 senior associates including myself) and the Webpack 4-to-5 upgrade, and modernized state management by introducing Redux Toolkit and RTK Query in place of localStorage/cookies.
- Proposed and maintained customized forks of ReactFill and ReactDriver — compressing roughly 2 months of form work into about 2 weeks and powering guided tours across both the Portal and UMA applications.
- Played a pivotal role standing up UMA as a greenfield application, now in production alongside the Portal, and built org-wide developer tooling (the dev-tools repo, Snyk Auto-Fix) while cutting CI/CD build time from ~30 minutes to under 15 with multi-stage Docker builds.
- Designed and proposed Blueprint-X, a ground-up internal design system; contributed to the Portal's Ready-to-Sell capability; and facilitated a Copilot/GenAI training workshop for the HR organization covering 30+ use cases.
- Integrated AI coding assistants (Cursor, Claude Code, GitHub Copilot) into daily workflows for pair-programming, legacy code refactoring, rapid prototyping, and architecture exploration, accelerating feature delivery across the team.
Senior Full Stack Engineer · Boohoo Group
Jan 2023 – Oct 2024London, UK · Remote
Led foundational modernization work across TypeScript, state management, and the framework itself for a high-traffic e-commerce platform serving millions of users daily.
- Took the initiative to adopt TypeScript over JavaScript on a 5-person Scrum team (1 lead, 2 seniors, 2 juniors), driving a full team-wide transition to a fully TypeScript codebase.
- Migrated state management from React Context and localStorage to Redux Toolkit and RTK Query for more reliable, better-cached API calls.
- Played a pivotal role in migrating the platform from React to Next.js, coordinating with the engineering lead and solution architect to ship an improved user experience.
- Introduced AWS Step Functions on top of an AWS-based microservices architecture, streamlining development and deployment workflows.
- Delivered end-to-end features using Node.js, TypeScript, React, Redux, and AWS for a platform serving millions of users daily; recognized by peers for introducing better coding practices while migrating legacy code incrementally without breaking changes.
- Mentored 2 junior engineers, led code reviews, and contributed to architecture and tech-stack decisions alongside the team lead and a fellow senior engineer.
Senior Full Stack Engineer · Payroo (Australia)
Oct 2019 – Jun 2022Hyderabad, India · Remote
Joined pre-product-market-fit and grew with the company from founding engineer to interim team lead, building the core of an automated payroll-compliance platform end to end.
- Joined as a founding engineer when the platform had fewer than 100 signed-up users; progressed from Junior Developer to Senior Developer to Interim Team Lead in under 3 years, and declined a subsequent offer of a permanent Team Lead role to pursue a Master's degree abroad.
- Built core payroll-compliance features: scheduled/unscheduled pay runs, auto-calculated tax and superannuation, salary sacrifice handling, one-click Single Touch Payroll (STP) filing to the ATO, and a Beam-integrated super clearing house workflow.
- Built the Employee App (payslips, timesheets, leave requests, FaceID-secured access, multi-org support) and an invoicing module synced with Xero for bookkeeping.
- Integrated Stripe subscriptions (3 tiers, pro-rata billing) replacing manual payment collection, and Amplitude for behavior/funnel analytics; redesigned DynamoDB into a single-table design.
- Led the migration from a multi-repo setup to a Yarn Workspaces + Nx monorepo, and from a legacy Loopback backend to a serverless architecture on AWS.
- Set up CI/CD for automated Google Play deployments and led a full UX revamp with a UX designer, supporting growth from under 100 to 1,000+ customers in under 2 years.
Full Stack Engineer (Founding Engineer) · RetachAll (quick-commerce startup)
Feb 2018 – Jun 2019India · On-site
Second engineer on a quick-commerce startup, leading three parallel applications end to end as the team scaled.
- Joined as the second engineer on a quick-commerce startup (grocery/vendor delivery, in the vein of Blinkit) and led three parallel Angular applications: a customer-facing app, a vendor app for delivery/inventory, and an internal admin app for monitoring vendors.
- Acted as lead/main developer supporting three other engineers across the three apps, owning architecture decisions and code review.
- Built a role-based vendor dashboard with reusable checkout/dashboard components and Firebase push notifications across the customer and vendor apps.
- Collaborated closely with the Android and iOS teams to keep API contracts and UI/UX in sync across all platforms in a fast-moving startup environment.
- The startup ultimately wound down due to funding constraints — a formative experience in shipping under startup constraints and coordinating across platforms.
Full Stack Engineer · Cube Digital (healthcare CRM startup)
Dec 2017 – Feb 2018India · On-site
Sole developer building two internal healthcare products from the ground up.
- Sole developer on an internal hospital news/updates application, built from the ground up using Angular, Node.js, and Ionic.
- Delivered a companion patient-request and CMS product (Sky Porter, Magic Desk) for the same hospital system, covering patient requests and case management end to end.
Education
MSc in Computer Science · University of Greenwich, London, UK
Sep 2021 – Sep 202205. Recognition
Awards & Recognition
🏆 Chess Competition Champion
2026MassMutual India
Won MassMutual India's 2026 chess competition.
🏆 Best in Class — 2025 Agentic AI Hackathon
2025MassMutual
Won Best in Class as part of Team River for Worksite Agent, an AI-powered chatbot built with Microsoft Copilot Studio, among 21 cross-functional teams of 120+ participants across 3 continents.
🏆 Bravo Award & Congratulations Award
2025MassMutual
Recognized for innovation, ownership, and technical excellence; separately acknowledged by US leadership for accountability and collaboration.
🏆 Top-6-of-120 Finalist
2025MassMutual
Named a top-6-of-120 finalist for internal recognition, with the MMSD Portal team also honored at the MM India ETX All Hands.
🏆 Innovation Award
2019 – 2022Payroo
Recognized for leading the migration from a multi-repo setup to a Yarn Workspaces + Nx monorepo, improving build and deployment speed for the whole team.
🏆 Top Performer Award
2018 – 2019RetachAll
Recognized as a top performer while leading three parallel Angular applications (user, admin, and vendor) as the team's second engineer.
06. Blog
Writing
Prompt Engineering as an API Contract
Generating trustworthy property listing descriptions from structured form data — a model-agnostic gateway, an allowlist for what enters the prompt, and a system prompt that does the real product work.
Jul 2026One Analytics Engine, Not One Per Feature: Designing a Polymorphic Tracking System
Designing a polymorphic tracking system so views, inquiries, and performance metrics work identically across unrelated entity types — instead of a parallel analytics stack per feature.
Jul 2026Cache Headers and Payload Shapes Are Part of Your API Contract
Designing response shapes as a query parameter and cache duration as a function of actual data volatility, instead of one blanket caching policy per endpoint.
Jul 2026Designing Multi-Tenant IAM Roles and Delegation Like an Enterprise Standard
Role vs. permission separation, owner invariants enforced at the data layer, invite lifecycles, stateless JWT authorization, and governed support access instead of a superuser bypass.
Jul 2026Presence Isn't One Concept: Designing Scoped Presence for Real-Time Chat
Real-time presence needs more than one scope: a room-level concept and an app-level concept answer genuinely different questions, and treating them as one is a design mistake, not just a bug.
Jul 2026Guided Tours Are a State Machine Wearing a Spotlight
The design decisions behind ReactDriver, and why the hard part of a guided-tour library is never the popover — it's cross-route state, persistence, and not prop-drilling tour state through your app.
Jul 2026Replacing Filters With a Conversation, Without Letting It Make Things Up
Building a GenAI property-search concierge that maps free text onto real listings instead of generating anything — and why 'soft preferences, hard constraints' matters more than the model choice.
Jul 2026From Scanning Every Commit to Listening for One Webhook
Redesigning vulnerability remediation around the event that actually matters instead of a proxy for it, and the small-blast-radius design behind Snyk Auto-Fix.
Jul 2026Why I Redesigned Our DynamoDB Schema Into One Table (And What Almost Went Wrong)
Migrating a payroll platform's DynamoDB layout from one-table-per-entity to single-table design, and unlearning the relational instincts that fight against it.
Jul 2026How I Architected Three Apps to Share One Backend (and When I'd Split Them Apart)
Building a property platform solo meant three genuinely different user bases and no budget for three separate backends. Here's the boundary that made both possible.
Jul 2026Payments Webhooks Don't Get to Be Slow: Building an Idempotent Serverless Pipeline
Building an idempotent, serverless Razorpay webhook pipeline on AWS Lambda, and the race condition that makes 'just check for duplicates' harder than it sounds.
Jul 2026Why I Stopped Hand-Building Forms and Started Compiling Them
The design decisions behind ReactFill, a schema-driven form builder for React, and what actually changed when a team stopped writing forms by hand.
Jul 2026How AI Coding Assistants Actually Fit Into My Day-to-Day
A practical breakdown of when and how I use Cursor, Claude Code, Copilot, and Antigravity — and the guardrails I don't compromise on.
07. Contact
Let's work together
I'm open to remote & relocation. Whether you have a role, a project, or just want to talk shop about React and system design, my inbox is open.