Skip to content
Stuti Pandya

Stuti
Pandya

Backend & infrastructure engineer, with full-stack range.

Software developer intern at TrendAI (Trend Micro), shipping Go APIs, React UIs, and Kubernetes infrastructure on AWS. Finishing Computer Engineering at uOttawa in December 2026.

Start
January 2027, new grad
Where
Ottawa, Toronto, Waterloo, Vancouver, or remote in Canada
Status
Legally able to work in Canada full time
topic stuti.work/3 partitionsconsumer: you/lag 12
  1. 0000p0 · nrcan · 2024Cut Oracle SQL report runtime 30% with restructured joins and indexed viewspending
  2. 0001p1 · uottawa · 2024–25Dean's Honor List, twicepending
  3. 0002p2 · bridge · 2025ASL glove streaming flex-sensor readings to the browser over BLEpending
  4. 0003p1 · ieee-wie · 2025Organized a hackathon for 100+ participantspending
  5. 0004p0 · solace · 2025Reproduced event-broker defects with R&D and shipped validated fixespending
  6. 0005p2 · ledger · 2026Exactly-once balance effects under Kafka redelivery, proven by 31 testspending
  7. 0006p2 · tinted · 20267-stage vision pipeline streamed over SSE, covered by 146 testspending
  8. 0007p2 · rag-agent · 2026Eval harness lifted mean score from 0.641 to 0.831 over nine ablationspending
  9. 0008p0 · trendai · 2026Recovered $6–9K/month in AWS spend by tracing a 1.4B-call spike to 55 orphaned stackspending
  10. 0009p0 · trendai · 2026Cleared 81 CVEs across four service imagespending
  11. 0010p0 · trendai · 2026Shipped a package-license feature on a DuckDB-backed Go API and React UIpending
  12. 0011p1 · ieee-wie · 2026Chair of IEEE Women in Engineering, uOttawa, for 2026–27pending
  13. 0012New-grad software engineer, starting January 2027offer

Transaction Ledger Service

An event-driven ledger that never loses or double-applies a transaction, even when it crashes mid-write.

2026 · Java 21 / Spring Boot / Kafka / PostgreSQL / Next.js / Prometheus / Grafana

Decisions that carry it

  • Partition Kafka by account ID

    Instead of one global ordering key

  • Manual offset acknowledgement

    Instead of auto-commit

  • Backoff retries (1s/2s/4s), then a dead-letter topic that preserves the partition, with an admin replay endpoint

    Instead of infinite retry or drop-on-failure

  • ErrorHandlingDeserializer wrapping the JSON deserializer

    Instead of letting deserialization throw

Crash the consumer mid-write

Kafka guarantees at-least-once delivery, so a crash means the message comes back. The ledger guarantees each transaction lands exactly once. Arm a crash, send transactions, and watch the redelivered one get skipped instead of double-applied.

A simplified model running in your browser, not the live service. It reproduces the behaviour asserted by redeliveredEvent_isAppliedExactlyOnce, a real Testcontainers test that republishes the same event twice against Postgres and Kafka and asserts the balance never moves.

  • Partition 0 · ACC-1$325

    001003

  • Partition 1 · ACC-2$520

    002004

  1. 0000Producer sent 4 transactions, partitioned by account id
  2. 0001txn-001 applied, offset committed
  3. 0002txn-002 applied, offset committed
  4. 0003txn-003 applied, offset committed
  5. 0004txn-004 applied, offset committed

Balances match the ledger: $845

The sum of balances always equals the sum of writes that reached the ledger, however many times a message is redelivered.

More projects

Each one has a full case study: the problem, the trade-offs, the evidence, and what I'd change.

  1. 2026

    traced-research-agent

    A RAG research agent with the part most demos skip: an eval harness that proves it works.

    Python / LangGraph / FastAPI / Chroma / BM25 / RRF / Groq

    Case study
  2. 2026

    Tinted

    Computer vision that gets skin tone right across the full range, then recommends makeup that actually matches.

    FastAPI / React 19 / Next.js / MediaPipe / OpenCV / CLIP / Claude Haiku

    Case study
  3. 2025–2026

    Bridge

    An ASL translation glove: flex sensors on an ESP32, streaming straight to the browser over Bluetooth.

    Arduino Nano ESP32 / BLE / React Native / Web Bluetooth

    Case study

Also built

  • Cycling Community App

    Android app for forming riding groups. Deployed and used by a local riding community.

    Java / Firebase / Android

  • Continuity Copilot

    AI pre-visit briefings for family doctors. 2nd place, Hackers & Healers hackathon.

    LangGraph / GPT-4o / HAPI FHIR / React

  • Aerial Image Segmentation

    UNet trained from scratch to spot houses in aerial photos, with CI/CD shipping Docker images.

    PyTorch / Flask / Docker / GitHub Actions

Experience

Three internships across four terms, newest first.

  1. May 2026 – Present

    Ottawa

    TrendAI (Trend Micro)

    Software Developer Intern, AI Security & Container Security

    • Recovered $6–9K/month in AWS spend by tracing a 1.4B-call API Gateway spike to 55 orphaned CloudFormation stacks.
    • Shipped a package-license feature across 2 public REST endpoints on a DuckDB-backed Go API and the React inventory UI.
    • Cleared 81 distinct CVEs across four service images by bumping Go stdlib, OpenSSL/libcrypto, and x/crypto.

    Go / React / DuckDB / Kubernetes / EKS / Helm / AWS / GitHub Actions

  2. Sept 2025 – Dec 2025

    Ottawa

    Solace

    Support Engineer Intern

    • Reproduced event broker defects and partnered with R&D to validate and ship fixes.
    • Debugged distributed messaging across hybrid cloud; wrote postmortems tracing root causes through broker and client layers.

    MQTT / AMQP / JMS / REST / WebSocket / Kubernetes

  3. May 2024 – Aug 2025

    Ottawa

    Natural Resources Canada

    Software Developer Intern, 2 co-op terms

    • Optimized Oracle SQL queries and dashboards to run 30% faster, via join restructuring and indexed views.
    • Built a C# bulk import tool and automated Salesforce sandbox refresh with Apex and PowerShell.

    Salesforce / Apex / C# / Oracle SQL / PowerShell

Skills

Depth, not percentage bars. Built: I designed and shipped it. Used: I work in it regularly.

Languages

  • JavaBuilt

    Java 21 ledger service, coursework

  • PythonUsed

    traced-research-agent, Tinted

  • GoUsed

    DuckDB-backed REST API at TrendAI

Backend & Streaming

  • Spring BootBuilt

    Ledger service: Data JPA, Kafka, Actuator

  • KafkaBuilt

    Partitioning, manual offsets, DLT, retries

  • FastAPIBuilt

    traced-research-agent, Tinted

Frontend

  • React / Next.jsBuilt

    TrendAI inventory UI, ledger dashboard, Tinted

  • TailwindBuilt

    This site, Tinted

Data

  • PostgreSQLUsed

    Flyway migrations, optimistic locking

  • Oracle SQLUsed

    Join restructuring, indexed views: 30% faster

  • DuckDBUsed

    Embedded OLAP behind a Go API at TrendAI

Cloud & DevOps

  • Kubernetes / EKSUsed

    Resource limits for two operators at TrendAI

  • AWSUsed

    API Gateway, CloudFormation, EKS at TrendAI

  • Docker ComposeBuilt

    Postgres, Kafka KRaft, Prometheus, Grafana

AI & ML

  • LLM evaluationBuilt

    LLM-as-judge, golden sets, ablation

  • LangGraphBuilt

    Multi-step research agent, Continuity Copilot

  • PyTorchBuilt

    UNet trained from scratch, IoU/Dice reporting

Tools

  • Claude CodeUsed

    Daily driver for build and review

  • Git / GitHub ActionsBuilt

    Multi-job CI with test gates

  • GroqUsed

    llama-3.3-70b for agent and judge

Testing & Observability

  • TestcontainersBuilt

    Real Postgres + Kafka in integration tests

  • AwaitilityBuilt

    Async assertions without sleeps

  • pytestBuilt

    146-test Tinted suite

About

Three internships so far: AI and container security at TrendAI (Go, Kubernetes, AWS), event brokers at Solace, and two co-op terms at Natural Resources Canada.

I work across the stack, but I like the unglamorous end of it: message ordering, failure recovery, observability. My flagship project is an event-driven transaction ledger with 31 tests proving ordering holds even when things crash, fronted by a Next.js dashboard that streams status live.

On the AI side, I build the measurement around LLM systems, not just demos. My research agent ships with its own eval harness: 8 rubric-scored questions, an LLM judge, and nine recorded ablations that took mean score from 0.641 to 0.831.

Off the clock, I chair uOttawa's Institute of Electrical and Electronics Engineers (IEEE) Women in Engineering chapter.

Portrait of Stuti Pandya
  • Kayaks tied up at a lake dock
    off-grid
  • Canoes on Moraine Lake in the Rockies
    banff
  • Sunset over the Rideau Canal locks in Ottawa
    home
  • Watching flamingos at the park
    touching grass

School & community

Grad December 2026

CGPA 8.13/10.0

University of Ottawa

Bachelor of Applied Science, Computer Engineering

Engineering Management & Entrepreneurship stream

Systems
Data Structures & Algorithms, Computer Networks, Operating Systems, Distributed Systems, Computer Architecture, Real-Time Systems
AI / ML
Applied Machine Learning, Artificial Intelligence

Sept 2024 – Present

Institute of Electrical and Electronics Engineers (IEEE) Women in Engineering, uOttawa

Chair (2026–27) · previously Vice Chair (2025–26)

  • Launched WIEee Code, our first beginner hackathon, and built the starter template teams worked from.
  • Built a mentorship program pairing upper-years with first- and second-years.
  • Organized a hackathon for 100+ participants and led technical workshops on Git, React, and Docker.
  • Institute of Electrical and Electronics Engineers (IEEE) Women in Engineering, uOttawa event, photo 1
  • Institute of Electrical and Electronics Engineers (IEEE) Women in Engineering, uOttawa event, photo 2
  • Institute of Electrical and Electronics Engineers (IEEE) Women in Engineering, uOttawa event, photo 3

Recognition

  • 2nd place, Hackers & Healers AI in Healthcare hackathon

    Continuity Copilot: agentic clinical briefing on FHIR data

    2026

  • Dean's Honor List ×2

    University of Ottawa, Faculty of Engineering

    2024–2025

  • WIEee Code: founded the chapter's first beginner hackathon

    Including the starter template teams built from

    2025

Hiring for January 2027?

I'm interviewing for new-grad backend, infrastructure, and full-stack roles. The fastest way to reach me is email.

stuti.pandya0@gmail.com

Or leave a message