Noida, Uttar Pradesh, India / Remote worldwide · Open to relocate

Jokhendra Prajapati

Senior AI & Full-Stack Engineer

LangGraph · RAG · MCP · FastAPI · Express / NestJS · WebSockets · AWS

I build retrieval and agent systems that hold up outside a notebook, plus the Python and Node services, realtime layers and cloud infrastructure they actually run on.

Expertise

Retrieval, agents, and the systems that run them

Four capability areas, one system. Retrieval decides what is true, the graph decides what happens next, and the backend and platform underneath are what make either of them usable by real users at real volume.

GENAIAGENTICBACKENDPLATFORMRAG pipelinesHybrid searchEvaluationModel routingLangGraphTool callingMCP serversState and memoryFastAPI / PythonExpress / NestJSWebSocketsQueues and workersNext.js / ReactPostgres / MongoAWSDocker / CI

Hover a capability to trace how it connects

01

Retrieval and grounding

Hybrid retrieval over messy sources: chunking chosen for the document shape, sparse plus dense scoring, and answers tied back to retrieved text.

RAG · Hybrid search · FAISS · BM25 · Chunking strategy

02

Agentic systems

LangGraph state machines instead of one long chain: an intent router, tool nodes with fallbacks, and memory scoped per conversation thread.

LangGraph · StateGraph · Tool calling · MCP · Fallbacks

03

Backend engineering

Python and Node services built to be operated: versioned REST contracts, validation at the edge, WebSocket transport for realtime, and queued workers for anything slow.

FastAPI · Express · NestJS · WebSockets · Queues · JWT / OAuth

04

Cloud and delivery

Containerised services on AWS with CI/CD, health checks and structured logs, plus the Next.js interfaces that sit on top. One person, whole path.

AWS · Docker · CI/CD · Next.js · Observability

Selected work

Production systems first — realtime, retrieval, agents

Ordered by impact. Start with the platforms that carried real users, then the RAG and agent systems that show how I design AI on top of that engineering. Each case study covers the problem, architecture, decisions, and what broke.

7 case studies

How I build agents

LangGraph is the brain. MCP is the hands.

Separating orchestration from execution is what moves an agent past the demo stage. The graph decides; tools do the work behind an explicit boundary; every step is traceable.

turncheckpointtask intentchitchattool callspansProduct UIstreaming clientAPI layerFastAPI or NextCheckpointerper-thread stateIntent routersmall fast modelDirect answerno tools neededTool noderetry + fallbackRetrievalhybrid searchMCP serverstyped toolsVector + SQLgrounding dataTraces + evalsoffline and live

Dashed paths are conditional: cheap turns skip tool execution entirely, and instrumentation runs alongside rather than inside the request path.

  • Orchestration
  • Tool
  • Data store
  • Model
  • Conditional path
01

State, not chat history

A graph carries typed state between nodes and checkpoints it per thread. Retries resume where they failed instead of replaying an entire conversation, and you can inspect exactly what the agent believed at each step.

LangGraph StateGraph · conditional edges · checkpointed threads

02

Tools behind a boundary

The model never holds credentials or raw system access. Tools are declared with typed inputs and executed behind MCP or equivalent server boundaries, so the same toolset is reusable across agents and auditable per call.

MCP servers · typed tool schemas · no credentials in prompts

03

Failure is a routed path

Tool timeouts and bad arguments are expected inputs, not exceptions. Each tool node has a fallback so the graph answers with whatever succeeded and states plainly what it could not fetch.

Fallback nodes · typed errors · partial answers over stack traces

Backend and platform

A model is only as good as the service around it.

Before the AI work, and underneath all of it, is ordinary hard engineering: request contracts, realtime transport, background jobs, data stores and deploys. I build that half in both runtimes, Python and Node, and I operate what I ship.

httpswsverifyasync workfanoutspansClientsweb and mobileAPI gatewayREST, rate limitsRealtime gatewayWebSocket handshakeServicesFastAPI · Nest · ExpressAuthN / AuthZJWT · OAuthQueue + workersretries, backoff, DLQRediscache + pub/subPostgres / Mongosystem of recordS3 + CDNobjects and mediaLogs + metricshealth and alerts

Dashed paths run outside the request: auth verification, Redis fanout back to connected sockets, and instrumentation that never blocks a response.

  • Orchestration
  • Tool
  • Data store
  • Model
  • Conditional path
01

APIs designed for change

Every endpoint validates at the edge and fails with one consistent error contract, so a client never has to guess whether a 500 means bad input or a dead dependency. Versioning is planned before the first consumer, not retrofitted after the first break.

Pydantic · class-validator · versioned REST · typed error contracts

02

Realtime that survives scale

Sockets authenticate on handshake and join rooms scoped to what the user may see. Fanout across instances goes through Redis pub/sub instead of in-process state, and clients heartbeat and reconnect with backoff so a dropped connection recovers on its own.

Socket.IO · MediaSoup · Redis pub/sub · heartbeat and reconnect

03

Built for the bad day

Slow work goes behind a queue with retries, backoff and a dead-letter path. Handlers are idempotent so a retry cannot double-charge or double-send, timeouts are explicit at every hop, and structured logs make an incident readable instead of archaeological.

Idempotent handlers · DLQ · explicit timeouts · structured logs

What I reach for

Python

  • FastAPI
  • Django
  • Pydantic
  • Async workers
  • LangChain / LangGraph

Node.js

  • Express
  • NestJS
  • TypeScript
  • Prisma / Mongoose
  • Next route handlers

Realtime

  • WebSockets
  • Socket.IO
  • MediaSoup
  • Redis pub/sub
  • Token streaming

Cloud

  • AWS EC2
  • AWS S3
  • AWS Lambda
  • Docker
  • CI/CD + Nginx

Stack

Organised by the job each layer does

Tools listed by where they sit in a system rather than as a percentage score. If it is on this list, I have shipped something with it.

01

Interface

What the user actually touches

  • Next.js
  • React
  • TypeScript
  • Streaming UI
  • Tailwind CSS
02

AI orchestration

Decides what happens next

  • LangGraph
  • LangChain
  • Intent routing
  • Prompt design
  • Checkpointed memory
03

Tools and integrations

The hands of the system

  • MCP servers
  • Tool calling
  • REST and webhooks
  • Tavily search
  • Typed function tools
04

Backend services

Where the business logic lives

  • FastAPI
  • Express
  • NestJS
  • Django
  • REST and streaming APIs
  • JWT / OAuth
05

Realtime and async

Work that cannot block a request

  • WebSockets
  • Socket.IO
  • MediaSoup
  • Queues and workers
  • Redis pub/sub
06

Retrieval and data

Grounding and persistence

  • FAISS
  • BM25
  • PostgreSQL
  • MongoDB
  • Redis
  • SQLite
07

Models

Routed by cost and latency

  • Groq
  • OpenAI
  • Open-weight models
  • Embeddings
  • LLM-as-judge
08

Cloud and delivery

Getting it live and keeping it honest

  • AWS (EC2, S3, Lambda)
  • Docker
  • CI/CD
  • Nginx
  • Logs and metrics

Ask Groot

Groot — a working agent, not a scripted widget

Groot answers from this site's own case studies and profile — with a live execution trace so you can see the path through each turn.

Groot

Hey — ask me about my work. Realtime systems, RAG, LangGraph agents, backend and cloud. I'll answer from the case studies on this site.

Contact

Tell me what you are building

Available for senior AI and full-stack engineering roles and consulting.

Open to work

Where I help most

  • Designing agent graphs that survive tool failures and long conversations
  • Taking a RAG prototype to something you can measure and defend
  • Reviewing an LLM architecture before it becomes expensive to change
  • Shipping the whole thing: API, interface, deployment, instrumentation
Email
jokhendra.prajapati@gmail.com

Typical response within 6 hours

Based in
Noida, Uttar Pradesh, India

Remote worldwide · Open to relocate · IST (UTC+5:30)

0/1000