Skip to content
Shirisha Gujja

Software Engineer · San Jose, CA

Shirisha Gujja

Building reliable backend systems and AI-powered products.

Currently pursuing an MS in Software Engineering at San José State University, after two years building LLM-powered enterprise features and ETL infrastructure at S&P Global. I work across the stack, with an emphasis on backend systems, APIs, and data-intensive applications.

Experience

S&P Global

Software Development Engineer

Sep 2024 – Dec 2025

Hyderabad, India

  • Designed and optimized MCP-based tool integrations that let LLMs retrieve structured data from internal GraphQL services and drive context-aware application workflows, improving tool execution latency by 25% and the reliability of model-to-backend interactions.
  • Naive tool calls pulled full GraphQL responses regardless of what the model needed next. Built selective retrieval mechanisms with targeted field selection and optimized query execution, cutting unnecessary data transfer by 35% and API response times by 20%.
  • Developed reusable React components and AI-powered UI widgets to surface model-generated insights and backend data, reducing duplicate frontend development effort across multiple enterprise workflows.
  • Trained and configured GitHub Copilot on historical support data, automating repetitive support tasks and cutting manual workflow effort by 40%.
ReactGraphQLMCPLLM tool callingREST APIsGit

S&P Global

Software Development Engineer Intern

Jan 2024 – Jul 2024

Hyderabad, India

  • Led a proof-of-concept to re-architect a critical daily refresh job, originally implemented as MS SQL Server stored procedures, onto Amazon Redshift with PostgreSQL-based stored procedures, improving scalability and query performance.
  • Engineered modular Python ETL workflows to orchestrate the new Redshift pipelines, with automated data validation, structured logging, error handling, and retry mechanisms, with AWS Lambda supporting workflow automation.
  • Reduced end-to-end execution time from 9 hours to 1 hour 27 minutes — an 84% reduction — and presented the optimized architecture for adoption as the standard production refresh process.
PythonAmazon RedshiftPostgreSQLMS SQL ServerAWS LambdaETL

Projects

MCP Shared Memory Server

Shared memory service for AI coding tools, with conflict-safe writes and hybrid search

Problem

Developers switch between multiple AI coding tools — Claude Desktop for one task, Cursor for another — and each one starts from zero, because nothing carries context between them. A decision explained to one tool is invisible to the next, and re-explaining it every session defeats the point of an assistant having memory at all.

What I built

  • A PostgreSQL-backed memory service exposed over MCP, so Claude Desktop, Cursor, and any other MCP client read and write one shared, versioned project memory instead of each maintaining its own.
  • Optimistic concurrency on every write: a compare-and-set update means two clients editing the same memory at once produce one winner and one explicit conflict response with the winning revision attached, never a silent overwrite.
  • Immutable revision history with structural supersession — retiring a memory excludes it from every retrieval path in the same transaction that creates its replacement, so an outdated decision can't resurface as a search result while remaining fully readable in the audit trail.
  • Hybrid retrieval combining PostgreSQL full-text search and pgvector similarity search, merged with Reciprocal Rank Fusion and served through a token-budgeted context tool so results fit a caller's context window.
  • Idempotent writes and content-hash deduplication kept as two distinct mechanisms: one client retrying the same request replays the original response, while two clients independently asserting the same fact are merged as corroborating evidence rather than duplicated.
  • 369 tests against a real PostgreSQL instance, including 50 concurrent writers proving the conflict resolution for real and a hand-graded retrieval-quality benchmark gated against a committed baseline.

Architecture

stdio / JSON-RPCsame transactiontoken-budgeted contextMCP ClientsClaude Desktop · Cursormemhub-server7 MCP toolsService layerCAS · idempotency · dedupPostgreSQL 16memories · revisions · outboxFull-text + pgvectorReciprocal Rank FusionStage-0 filterexcludes superseded/deleted

Stack

Python 3.12MCP SDKPostgreSQL 16pgvector (HNSW)SQLAlchemy 2.0 (async)asyncpgAlembicfastembedDocker Composepytest

Personal Finance Platform

Full-stack finance platform for budgets, investments, and real-time spending alerts

Problem

Personal finance data is scattered across banks, brokerages, and manual tracking. Getting one accurate picture — spending by category, budget adherence, net worth, investment performance — usually means a spreadsheet, or handing a third party read access to every account.

What I built

  • A modular backend architecture covering accounts, transactions, budgets, savings goals, investments, net worth, and cash-flow forecasting, all scoped to the authenticated user.
  • Plaid integration for bank account linking and transaction sync, with encrypted access tokens, cursor-based pagination, and database-level deduplication so a re-synced account never creates duplicate transactions.
  • A transactional outbox that writes each event in the same database transaction as the record that triggered it, so no event is lost if the message broker is unavailable.
  • Three independently deployable consumer services on Kafka that categorize transactions, detect unusual spending with idempotent alert creation, and push real-time alerts to the browser over WebSockets.
  • AI-generated monthly spending insights grounded on pre-computed aggregates, with a deterministic template fallback when the model call fails.
  • Distributed tracing, metrics, and structured logs correlated end to end through OpenTelemetry, Prometheus, Grafana, and Tempo, with failure testing that validates recovery from crashes, outages, and broker failures.

Architecture

HTTPS + WSsame transactionpub/subBrowserNext.js dashboardcore-apiFastAPI · REST + WSOutbox publisherpolls every 3sPostgreSQLsource of truthRediscache · idempotencyRedpandaKafka APIenrichment-serviceanomaly-servicenotification-servicemarket-data-servicescheduled pollerPlaid · OpenAI · market data

Stack

FastAPISQLAlchemy 2.0 (async)PostgreSQLRedisKafka / RedpandaNext.jsTypeScriptTanStack QueryOpenTelemetryGrafana / Loki / TempoDockerTerraformPlaid APIOpenAI API

More projects

Fitness Tracker

Full-stack fitness platform for workouts, nutrition, and progress, with an AI coach

A modular, domain-driven FastAPI backend — auth, workouts, nutrition, progress, profile, and AI coaching — behind a Next.js frontend acting as its own backend-for-frontend, with JWT authentication, refresh-token rotation with reuse detection, and httpOnly cookies. An OpenAI-backed AI coach generates personalized workout and meal plans with graceful degradation when the API is unavailable. Deployed on AWS EC2 behind nginx with Let's Encrypt HTTPS.

FastAPINext.jsPostgreSQLCeleryRedisDockerAWS EC2

Secure File Transfer

Two secure transfer protocols, built and compared from scratch

Moves a 4GB file across an untrusted network two different ways: mutual TLS with a full CA, server, and client certificate chain, and an application-layer AES-256-GCM envelope with an HMAC-authenticated manifest over plain TCP. Both stream in chunks with running SHA-256 verification and fail closed — a corrupted or tampered transfer is rejected, and the partial file is never written as valid.

PythonTLS / mTLSAES-256-GCMHMACSockets

Tech Stack

Languages

  • Python
  • TypeScript
  • JavaScript
  • Java
  • SQL
  • C

Backend

  • FastAPI
  • Django
  • Node.js
  • Express.js
  • GraphQL
  • REST APIs
  • Celery
  • SQLAlchemy

Frontend

  • React
  • Next.js
  • TypeScript
  • Tailwind CSS

Data & Messaging

  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Kafka / Redpanda
  • Amazon Redshift

Cloud & Infrastructure

  • AWS (EC2, S3, IAM, SES, Lambda)
  • Docker
  • nginx
  • Terraform
  • GitHub Actions

AI / LLM

  • OpenAI API
  • MCP
  • GitHub Copilot
  • Claude
  • Scikit-learn

Education

San José State University

Master of Science, Software Engineering

Jan 2026 – PresentSan Jose, CA

Vasavi College of Engineering

Bachelor of Engineering, Computer Science

Dec 2020 – May 2024Hyderabad, India

About

I’m a software engineer focused on backend and full-stack systems — APIs, data infrastructure, and the application layers built on top of them. At S&P Global, I worked on AI-powered enterprise features, connecting LLMs to internal GraphQL services, and separately rebuilt a slow ETL pipeline on Amazon Redshift. Both are the kind of problems I like: making a system faster, more reliable, or actually usable in production.

Outside of work, I build complete projects on my own time — a fitness platform and a personal finance platform, each with real authentication, background processing, and the infrastructure decisions behind them, not just a UI on top of a database. I’m especially interested in backend engineering, distributed systems, and AI/LLM applications, and I care about getting the reliability and security right along the way.

Contact

Open to software engineering roles — backend, full-stack, and AI/LLM.

If that sounds like a fit, I’d love to hear from you.