I build reliable backends and AI that doesn't make things up.

Two years shipping production systems with Python, FastAPI, Go and Node.js. Currently a Full-Stack Engineer at Stryv.ai.

Scroll

01About

A bit about me

Illustrated portrait of Dilip Kumar

I studied computer applications at Kurukshetra University in Haryana and joined my first engineering team in June 2024, before I graduated. Since then I've spent two years at early-stage startups, owning auth, payments and AI features end to end.

I care about systems that behave predictably under load, APIs that are boring to integrate with, and AI features that can show their evidence. Next, I want a team with larger scale and stronger engineering practices. Meanwhile I practice DSA on NeetCode and LeetCode and work through system design.

Education

BCA, Kurukshetra University

Govt. College Chhachhrauli · 2022 to 2025

Recognition

2nd place, state-level exhibition (150+ colleges)

College Roll of Honour

Experience

2 years, backend & AI

Stryv.ai · NexGen Elit · since June 2024

02Experience

Where I've shipped

Jul 2025 to Present

Hyderabad

  • Python
  • FastAPI
  • PostgreSQL
  • pgvector
  • AWS
  • JWT

Full-Stack Engineer @ Stryv.ai

Backend and AI features for a vendor-compliance platform.

  • Building the AI automation module: hybrid vector + keyword retrieval on PostgreSQL/pgvector, cross-encoder reranking, verbatim-quote validation, and async pipelines with human-in-the-loop approval. See how it works
  • Built JWT authentication with protected routes, plus OTP password recovery: hashed, expiring OTPs with resend limits and protection against repeated attempts.
  • Contributed to an AWS document-verification pipeline that processed 160K documents in a month at ~90% verification accuracy.
  • Own the backend for assessment workflows: response management, category progress tracking and trust-score calculation.
  • Developed a CRM for sales, leads and customer interactions serving 100K+ users, as part of a 20+ person cross-functional team.

Jun 2024 to Jul 2025

Remote

  • Node.js
  • Express
  • Razorpay
  • REST APIs
  • Google Meet

Full-Stack Engineer @ NexGen Elit

My first engineering team, joined before I graduated.

  • Built a job-portal backend where recruiters post roles and students apply through skill-based assessments, with a dual-sided subscription revenue model.
  • Integrated Razorpay for student test payments and recruiter job-posting subscriptions.
  • Built the Node.js/Express backend for a virtual fitness platform: course browsing, an interactive dashboard and integrated Google Meet sessions.

03Work

Systems you can step through

Grounded RAG

An AI module that only accepts an answer it can back with a verbatim quote from the source document.

    Question → keyword search + vector search (pgvector) → cross-encoder rerank → LLM draft with quote → verbatim-quote check → human approval.

    • Hybrid retrieval. Vectors catch paraphrases. Keyword search catches the exact clause names and numbers that embeddings blur.
    • Rerank before generating. A cross-encoder scores every (question, passage) pair, so the strongest evidence reaches the model first.
    • Verify, then involve a human. A quote that isn't in the source verbatim fails validation. Validated answers still wait for human approval.

    The AI automation module of a vendor-compliance platform: retrieval, reranking, quote validation and an async approval pipeline, in FastAPI on PostgreSQL with pgvector.

    Jugaad Link

    A URL shortener with Redis-cached redirects, password-protected and expiring links, and per-link analytics.

      Browser → Gin API → Redis (hit: 302 redirect) or PostgreSQL (miss: rule checks, 302, then cache).

      • Cache only plain links. Password, expiry and click-limit rules must run on every visit. Caching those redirects would silently bypass them.
      • Record clicks asynchronously. Analytics never sits on the redirect's critical path.
      • Fail to a friendly page. Disabled, expired and over-limit links redirect to an explanation instead of a bare error.

      A Go (Gin, GORM) API on PostgreSQL and Redis with JWT auth, custom slugs, QR codes, guest sessions, a Chrome extension, and click analytics by device, browser, country and referrer. Next.js frontend.

      Atlas

      A multi-tenant Slack and GitHub assistant: OAuth 2.0, per-workspace webhooks, and a Gemini agent that calls tools.

        Slack event → FastAPI → tenant lookup and token decryption in PostgreSQL → Gemini function call → GitHub tool → reply in thread.

        • Encrypt provider tokens at rest. Slack and GitHub tokens are Fernet-encrypted in PostgreSQL and decrypted only for the tenant that sent the event.
        • Rotate refresh tokens. They're stored hashed, rotated on every refresh and kept in HTTP-only cookies.
        • Modular monolith first. One deployable with clear module boundaries (auth, integrations, orchestrator), to split only when scale asks for it.

        A FastAPI modular monolith with a Next.js 15 dashboard: OAuth 2.0 login (Google, GitHub, Slack), organization and workspace tenancy, per-tenant webhook ingestion, and a Gemini orchestrator with function calling and a tool dispatcher. PostgreSQL via async SQLAlchemy and Alembic.

        ContriHub

        Helps developers find beginner-friendly open-source projects, with AI repo explanations and learning roadmaps.

          Next.js → Go API → Redis rate limit → Redis cache or GitHub API → Groq LLM → 200, or 429 when the limit is hit.

          • Rate-limit every AI endpoint. Redis limits by IP and by token, so one client can't burn the LLM budget or the GitHub quota.
          • Cache the GitHub proxy. Repeat lookups are served from Redis instead of spending GitHub API calls.

          A Go (Gin, GORM) backend on PostgreSQL and Redis: GitHub OAuth, a caching GitHub API proxy, Groq-powered repo explanations, roadmaps and project matching, and persistent AI chat history. Next.js frontend with filters for language, labels like good-first-issue, topics and stars.

          Also built

          A prototype, daily practice, and everything else.

          Prototype

          Document extraction pipeline

          Serverless OCR + LLM extraction on AWS: Textract for OCR, Bedrock for structured fields. It was never deployed to production.

          • Python
          • Textract
          • Bedrock

          Practice

          DSA in C++

          Regular NeetCode and LeetCode practice, with every submission public.

          Submissions

          Everything else

          On GitHub

          Earlier projects, experiments and the source of this site.

          Dilip-Kashyp

          04Skills

          Every skill, with proof

          Languages

          Backend

          AI & retrieval 1.5y

          Data & cloud

          Backend patterns

          Frontend

          05Ask

          Interview my resume

          A tiny retrieval engine that runs entirely in your browser, over facts I wrote about myself. No LLM and no API key. If it can't find a grounded answer, it says so instead of guessing.

          1. 1

            Tokenize your question and fix typos against the vocabulary

          2. 2

            Score 50 hand-written facts with BM25

          3. 3

            Blend in trigram similarity for fuzzy matches

          4. 4

            Below the confidence threshold? Say “I don't know”

          resume.bot

          answers only from Dilip's resume

          BM25 + trigram

          Hi! Ask me about Dilip's experience, projects, stack or availability. Try a suggestion below or type your own question.

          06Contact

          Have a backend or AI role in mind? Let's talk.

          • Usually replies within 24 hours
          • Hyderabad, India · IST
          • Open to Bengaluru, remote or relocation

          Prefer JSON? curl it

          dilipkashyap.in/api

          $ curl -s dilipkashyap.in/api/me.json

          200 OK · application/json

          {
            "name": "Dilip Kumar",
            "role": "Backend & AI Engineer",
            "experience_years": 2,
            "current": {
              "title": "Full-Stack Engineer",
              "company": "Stryv.ai",
              "since": "2025-07"
            },
            "location": "Hyderabad, India",
            "open_to": ["Backend Engineer", "AI Engineer", "Full-Stack Engineer"],
            "work_locations": ["Hyderabad", "Bengaluru", "Remote"],
            "focus": ["APIs & auth", "Caching & rate limiting", "RAG pipelines"]
          }

          Real static JSON served by this site. Try it in your terminal.

          ↑↓ move ↵ select Unknown text goes to the resume bot