Solar system · real orbital periodsdata · NASA JPL · le-systeme-solaire.net
hover any planet

Prasad Deshpande

Backend + Full-Stack Engineer

Ch. 00 · The agent

Type a question or use the mic to get started.

Answers use this site’s knowledge and tools—ask about work, stack, or how to get in touch.

Message

Voice

Mic: speak your question (sent when you pause) · Speaker: read last reply · Auto: read new replies for typed messages · Voice questions get a spoken reply once

Answers use a remote model. Do not paste secrets. Mic and read-aloud run in your browser only.

Ch. 01 · Who

Quick who.

The compressed résumé, before you ask.

  • 4+yrs shipping
  • 3companies
  • 1M+warehouse rows
  • 10K+tree nodes
  • 38%latency cut
  • MS·SENortheastern
  • Today2024 →C3 AI · Redwood CitySupply Chain and pricing apps for Fortune 500 customers, GenAI (GPT-4o, custom tools, session memory), ReactFlow at 10K+ deal objects with TanStack Query, Snowflake-backed types over 1M+ records, 500+ users on pricing. Backend work in Python too—REST and GraphQL APIs alongside the TypeScript/React surfaces.
  • Before2023AutoPCB · BostonFull-stack intern on a collaborative PCB design platform, FastAPI, Celery/RabbitMQ jobs, Redis + WebSockets for real-time edits, Stripe and S3. Backend architecture choices I still cite in interviews.
  • Before that2018 – 2022Vodafone · PunePOS and ecommerce platform for 5K+ stores and 10K+ operators across Europe. Kafka microservices for contracts, credit pipeline (38% latency win), Grafana and Prometheus for incidents and dashboards.
  • Study2022 – 2024Northeastern · MS SEM.S. Computer Software Engineering (Sept 2022 – Aug 2024). Overlapped with the AutoPCB internship; graduate projects and coursework in distributed systems and ML-facing engineering.
  • TasteAlways-Teams that move fast and care about craft. Ship it, instrument it, let CI block bad merges, keep Grafana dashboards and Prometheus alerts worth opening.

Ch. 02 · Stack

What I reach for.

Four domains · primaries on top · also-used below

Backend6 primary
  • Python
  • Java
  • Go
  • FastAPI
  • Spring Boot
  • PostgreSQL
Also in rotation
  • Kafka
  • Celery
  • RabbitMQ
  • Redis
  • Snowflake
  • Node.js
AI6 primary
  • GPT-4o
  • LangGraph
  • pgvector
  • Hybrid RAG
  • Agent evals
  • Function calling
Also in rotation
  • OpenAI API
  • cross-encoder rerank
  • session memory
Frontend5 primary
  • TypeScript
  • React
  • Next.js
  • Tailwind
  • ReactFlow
Also in rotation
  • Redux
  • TanStack Query
  • D3.js
  • Material-UI
Infra & Ship4 primary
  • Docker
  • Kubernetes
  • GitHub Actions
  • AWS
Also in rotation
  • Terraform
  • Prometheus
  • Grafana
  • Vercel

Ch. 03 · Work

The receipts.

Bottom → top · three nodes · real numbers

C3 AI

Software Engineer · GenAI / Supply Chain · Nov 2024 to present · Redwood City, CA

Enterprise AI apps for semiconductor and manufacturing customers—pricing, production planning, and workforce scheduling at Fortune 500 scale. I ship full-stack: Type schemas over Snowflake, React/ReactFlow UX, GPT-4o agents in production, and Python services exposing REST and GraphQL APIs.

  1. Proof 01

    GPT-4o with custom tools and session memory

    Pricing chat interprets natural language into structured requests (e.g. time ranges), keeps conversation context per session, and pins AI-generated charts to a dashboard for 500+ users on a large semiconductor deal.

  2. Proof 02

    Deals navigation at 10K+ objects

    Nested infinite-scroll nav plus ReactFlow tree with lazy loading and TanStack Query so the UI stays responsive over huge pricing hierarchies tied to Snowflake-backed data.

  3. Proof 03

    Types ↔ Snowflake and ML inputs

    20+ custom Type schemas with mappings to Snowflake views; Python modules that shape multi-entity inputs for optimization models, with REST and GraphQL handlers where product needs them. Pytest in CI at 85%+ coverage on my code paths.

1M+warehouse rows
500+users (pricing)
10K+deal objects
PythonTypeScriptReactTanStack QuerySnowflakeGPT-4oReactFlowRESTGraphQLpytest

AutoPCB

Full Stack Engineer · Intern · Aug 2023 to Dec 2023 · Boston, MA

Early-stage collaborative PCB design in the browser, FastAPI API, Celery/RabbitMQ for long PCB generation jobs, Redis pub/sub + WebSockets for sub-100ms collaboration, Stripe and S3 for delivery. I owned major slices of the full stack alongside a small team; the CTO owned core auto-routing.

  1. Proof 01

    Async generation pipeline

    Celery workers, RabbitMQ broker, Redis locking against duplicate jobs, task_acks_late and exponential backoff for transient failures. Kept 2–5 minute builds off the request thread.

  2. Proof 02

    Realtime collaboration

    WebSockets bridged to Redis pub/sub per board; version-based conflict resolution; Redis-cached last state for reconnects.

  3. Proof 03

    Stripe + artifacts

    Checkout webhooks with idempotent handling; signed S3 URLs; client-side ZIP of KiCad/BOM/SVG via JSZip.

7prod issues fixed
<100mscollab p99
PythonFastAPICeleryRabbitMQRedisReactReduxReactFlowPostgreSQLAWS S3

Vodafone Intelligent Solutions

Software Engineer · Jul 2018 to Apr 2022 · Pune, India

POS and ecommerce for 5,000+ stores and 10,000+ operators across five European countries, part of a multi-year monolith-to-microservices migration (Strangler Fig). I owned contract and credit paths and shipped analytics UIs.

  1. Proof 01

    Kafka contracts microservice

    Pub-sub decoupled contracts from four downstreams, 12,000+ daily contract events, partitioned topics for ordering, per-service consumer groups, DLQ after retries. Cut synchronous notification latency from ~150ms to ~5ms on publish.

  2. Proof 02

    Credit verification pipeline

    Integrated internal LMS and external FICO with CompletableFuture parallel calls; PostgreSQL 24h cache for repeat checks. End-to-end latency 1300ms → 800ms (~38%).

  3. Proof 03

    Production debugging at scale

    Grafana and Prometheus across services: fixed cache stampede with TTL jitter, circuit breaker during FICO outages, presigned URL caching when KMS throttled S3, typical distributed-systems firefighting.

10K+operators
38%latency cut
5countries
JavaSpring BootKafkaPostgreSQLRedisReactD3.jsAWSPrometheusGrafana

· Intermission · between the jobs and the projects

Most of it is plumbing.

The pretty UI rides on unglamorous guarantees: once-only delivery, a credit check that survives latency spikes, a canvas that does not lose state when the socket blinks. That is the work I have done for years, under different logos. Agents and RAG are newer surfaces; the habit (assume failure, leave breadcrumbs) is older.

Side projects · below

Ch. 06 · Projects

The side quests.

Hover a card to see its demo wake up.

  • ◦ STANDBY
    FLOW · PRESS TO PLAY

    2026 · Portfolio · RAG agent

    Source

    devpd

    This site. A RAG-indexed portfolio where the Ask agent retrieves from a curated knowledge corpus and streams answers with inline artifacts. Palette-switchable, scroll-pinned flagship section, no client-side bloat.

    Next.jsTypeScriptTailwindGSAPHF Transformers
  • ◦ STANDBY
    PARTICLES · PRESS TO PLAY
    WIP

    2026 · Side project · Agent + RAG

    Clinical Trials Agent

    LangGraph agent over synthetic patients (Synthea) and ClinicalTrials.gov metadata, hybrid dense+sparse retrieval with reranking, Redis + Postgres session memory, golden-set evals in GitHub Actions.

    LangGraphFastAPIpgvectorRedisDocker
  • ◦ STANDBY
    TRACE · PRESS TO PLAY

    2025 · Full stack · AI SDR

    GitHub

    Grok SDR (Grokeng)

    AI-powered sales development rep: Grok (xAI) scores and qualifies leads, generates personalized email/LinkedIn/call scripts, dashboard analytics and filters. React + Vite + Tailwind frontend, FastAPI + async SQLAlchemy + MySQL, Docker Compose. Sample data with edge-case leads for testing.

    ReactTypeScriptViteTailwindFastAPIMySQLDockerGrok API
  • ◦ STANDBY
    GRID · PRESS TO PLAY

    2025 · Full stack · FinTech

    GitHub

    PayNow Pulse

    Expense analytics and payments dashboard: per-user monthly category totals, Chart.js dashboards, Stripe PaymentIntents to pay down balances. Django REST + React SPA, Celery + RabbitMQ for async Mailgun emails, Docker Compose.

    ReactDjangoDRFCeleryRabbitMQStripeChart.jsMailgunDocker
  • ◦ STANDBY
    WAVEFORM · PRESS TO PLAY

    2023 · Frontend · React

    GitHub

    Cryptocurrency Tracker

    Coin detail pages with historical charts (Chart.js), Firebase auth, and a personalized watchlist backed by CoinGecko APIs. Material UI and Redux for state.

    ReactReduxMaterial UIChart.jsFirebaseCoinGecko
  • ◦ STANDBY
    TRACE · PRESS TO PLAY

    2023 · Full stack · Java

    GitHub

    Banking application

    Secure banking flows: accounts, deposits, withdrawals, transfers, and closures, with real-time activity notifications. GoF design patterns in Java with Spring Boot, Hibernate, and MySQL.

    ReactSpring BootHibernateSpring Data JPAMySQL
  • ◦ STANDBY
    FLOW · PRESS TO PLAY

    2023 · Backend · Search

    GitHub

    Medical plan indexer

    Index and retrieve structured JSON at scale: Spring Boot APIs with JWT and OAuth2, RabbitMQ, Elasticsearch, Kibana, and Redis for fast lookup over large datasets.

    Spring BootRESTJWTOAuth2RabbitMQElasticsearchRedis
  • ◦ STANDBY
    PARTICLES · PRESS TO PLAY

    2022 · Full stack · Java

    GitHub

    Fleet management

    Dealership system: customer signup, vehicle browse and reservation, plus employee and admin inventory. Spring Boot, Hibernate, MySQL, JavaMail, Tomcat, Stripe API.

    ReactSpring BootHibernateMySQLJavaMailTomcatStripe
  • ◦ STANDBY
    WAVEFORM · PRESS TO PLAY

    2022 · Full stack · JSP

    GitHub

    Book sharing platform

    Readers create accounts, discover books, and request borrows; staff and admin manage listings. JSP front end, Spring Boot and Hibernate, MySQL, JavaMail, Tomcat.

    HTMLCSSJSPSpring BootHibernateMySQLTomcat
  • ◦ STANDBY
    GRID · PRESS TO PLAY

    2022 · Desktop · Java

    GitHub

    Arcade Mania

    Turn-based two-player fighter for a Northeastern course: six characters with distinct abilities, JavaFX and Scene Builder UI, MySQL persistence, MVC and design patterns.

    JavaJavaFXScene BuilderMySQLMVC
  • ◦ STANDBY
    TRACE · PRESS TO PLAY

    2021 · Desktop · Java

    GitHub

    COVID healthcare system

    Network of hospitals, pharmacies, and emergency services: admin setup, vitals, medicine inventory, and cross-org coordination. Java Swing and MySQL.

    Java SwingMySQL
  • ◦ STANDBY
    FLOW · PRESS TO PLAY

    2021 · DevOps · AWS

    Org repos

    AWS infrastructure migration

    Hardened CI/CD and cloud-native deployment for an inventory platform: faster releases, fewer defects, and stronger scale. Node, PostgreSQL, Sequelize, Terraform, GitHub Actions on AWS.

    Node.jsRESTPostgreSQLSequelizeAWSTerraformGitHub Actions

Aside · notes on taste

Demos are fast. Production is slow.
The boring middle is where the work actually is: tests on every change, traces when load spikes, retries that don't double-charge anyone.
That is the part I keep showing up for.

Production means queues, migrations, and rewriting the SQL when the database plan was wrong. On-call taught me stampedes, circuit breakers, and workers that ack late. This site’s Ask panel uses the same habits in miniature: a small golden test set in CI, and I only ship when I can explain what broke and why.

Ch. 07 · Build

How this shipped.

Decisions, prompts, source

Decision log

  • Single long-scroll Studio instead of many pinned frames.

    Options: Original spec used separate hero sections plus a multi-frame GSAP CCTA. Alternative: Framer-Motion-heavy marketing site.

    Why: One composable `Studio.tsx`, consistent `SectionSkin` and palette tokens, faster to ship and easier to maintain than coordinating multiple pinned scroll timelines.

  • One TypeScript module for all marketing copy.

    Options: Scatter strings across components, or duplicate from markdown at build time.

    Why: `lib/profile.ts` is the single edit point for jobs, Marginalia, and Ask example prompts. Reduces drift between Hero, Timeline, and future RAG corpus.

  • Ask: agentic stream only (no canned replies).

    Options: Local-only placeholder copy, or hybrid with offline scripts.

    Why: Replies always come from `/api/chat`: tools + RAG + guardrails. If the model or agent loop fails, the route returns a JSON error—no second offline script path.

  • Lexical retrieval before adding embeddings.

    Options: OpenAI embeddings at build time, local Transformers.js, or Supabase pgvector.

    Why: Tiny corpus: word overlap ranking is enough for v1, zero extra infra, easy to swap to embeddings later without changing the Ask UI.

  • Next.js 16 on the track `create-next-app` ships.

    Options: Pin to Next 15 because an older doc mentioned it.

    Why: Security and framework patches. App Router APIs used here are stable; React 19 matches current defaults.

Prompt gallery

Spec + code

github.com/dev-pd/prasadportfolio

Full DESIGN_DOC and PROMPT_PLAYBOOK live in the repo root. This page is a condensed decision record for interviews.

Ch. 08 · Contact

Let’s build
something honest.

Looking for mid-level IC roles: backend, distributed systems, and full-stack work. Happy to talk full-time roles. Shipping every week.

Authorized to work in the US. Open to sponsorship conversations.

Available for opportunities
Bay Area · Available for hire · Open to relocation
devpd · san francisco bay area · 2026visitors