Skip to content
SA

Seven years of shipping to production

Shrey
Alkhaniya

I build web systems that hold up under load.

Full-stack engineer working in TypeScript, Next.js and Node — and I can show you the numbers behind every claim on this page.

Who I am

Most of my work has been on systems where slowness and errors cost somebody real money — a payments bank, a telecom portal, a benefits platform. That has shaped how I build: measure first, ship the smallest thing that moves the number, then prove it moved.

  • 01

    Measure, then move

    I don't ship performance work on a hunch. Correlation IDs, OpenTelemetry spans and structured logs come first, because the fix is usually obvious once the trace is readable. The 504s I chased across a React → Node → Django chain took weeks to find and an afternoon to fix.

  • 02

    Fast where it's hard

    Most of my users have been on constrained networks and older hardware — branch bank staff, not engineers on fibre. That makes payload size, compression and interactivity real constraints rather than lighthouse-score vanity, and it's why the UIs I build stay responsive and accessible by default.

  • 03

    Comfortable at the seams

    Message brokers, gRPC contracts, serverless functions, vector indexes — the parts where one system hands work to another. I like this layer because it's where architecture decisions become visible, and where a wrong one gets expensive quietly.

What that produced

Four numbers I can walk you through line by line, with the commit history to match.

Messages/day
~10k
through the Message Center
Daily users
~6k
across three portals
Faster P95
40%
7.1s → 4.3s on low bandwidth
Fewer errors
60×
1.2% → 0.02% error rate

Career trace

Seven years, read as a waterfall.

Bar widths are proportional to actual tenure. Each nested span is one shipped outcome and the number it moved.

  1. Trajector

    Senior Software Engineer

    Aug 2024 — Present · 2 yr 1 mo

    • Message Center

      ~10k msgs/day · ~6k daily users · ~1,000 support hours saved/month

    • Customer tooling

      +29% page interactivity

  2. Jio

    Software Engineer II

    Feb 2023 — Jul 2024 · 1 yr 6 mo

    • Design-token pipeline

      ~2 hrs/release → near-zero

    • Scheduled digest service

      ~95% cost reduction

    • 504 investigation

      error rate 1.2% → 0.02%

  3. Paytm Payments Bank

    Software Engineer

    Jun 2019 — Jan 2023 · 3 yr 8 mo

    • Low-bandwidth performance

      7.1s → 4.3s (40% faster)

    • RBI-compliant testing platform

      ~1,500 employees onboarded in week one

    • Data-loss fix

      ~10 incidents/month → 0

Full detail on each role →

Stack

What I reach for.

Ordered by how central each one is to how I actually work, not by how it looks on a keyword scan.

Frontend

  • TypeScript
  • React
  • Next.js
  • App Router / RSC
  • Server Actions
  • Tailwind CSS
  • Web Vitals
  • Accessible UI

Backend

  • Node.js
  • Express
  • REST APIs
  • gRPC / Protobuf
  • RabbitMQ
  • AWS Lambda
  • Django
  • Event-driven services

Data

  • PostgreSQL
  • pgvector
  • MongoDB
  • Mongoose
  • Drizzle ORM
  • Schema & index design

Platform

  • Docker
  • Azure Functions
  • GitHub Actions
  • OpenTelemetry
  • Structured logging
  • Correlation IDs

AI / LLM

  • RAG pipelines
  • Embeddings
  • Top-K vector retrieval
  • HNSW
  • Prompt grounding
  • Ollama

Featured work

Two things I'm building right now.

Both are in progress and neither is public yet — so these cards describe only what runs on my machine today. Links go up the day they ship.

  1. 01

    AskMyDocs

    Retrieval-augmented Q&A over your own documents.

    In progress

    A RAG system built around the part that actually decides answer quality: the retrieval layer. Per-user chunks with 1536-dimension embeddings sit behind an HNSW cosine index, with user_id denormalised onto chunks so a tenant-filtered vector search stays a single index scan rather than a join.

    TypeScriptNext.jsPostgreSQLpgvectorDrizzleDockerOllama
  2. 02

    ChatQ

    The same chat service, modelled two ways: broker and RPC.

    In progress

    A multi-client pub/sub chat service on a RabbitMQ fanout exchange with per-client exclusive queues — then the same contract re-modelled in gRPC, specifically to feel the difference between broker-based delivery and direct RPC rather than read about it.

    Node.jsRabbitMQgRPCProtobufpino

View all work →

Open to work

Hiring for something that has to stay fast under load?

I'm open to senior and staff full-stack roles, remote or in India. The quickest way to start is a short email about the problem you're trying to solve.

shreyalkhaniya97@gmail.comRésumé