Skip to content
Vikas Tiwari
Open to SDE & AI internships

I build systems that don’t fall over — and I measure them.

B.Tech IT @ IIIT Bhopal. Backend, distributed systems, and applied AI — raw TCP sockets, vector search, evaluation harnesses. Then I benchmark them until the numbers are real.

Bhopal, India

Measured, not estimated.

  • 1,327

    tests at 99% branch coverage — Product Intelligence Engine

  • 9,619 ops/sec

    C++ key-value store, single connection

  • 4,831 ops/sec

    sustained at 1,000 concurrent connections

  • 410 ms

    crash recovery of 10,000 keys, zero data loss

  • 1,000+

    DSA problems solved across platforms

01 / About

Systems I understand end to end

I’d rather ship one system I understand end to end than clone ten tutorials I don’t. That’s why I built a key-value store from raw TCP sockets instead of reaching for Redis, and why my RAG pipeline has an evaluation harness instead of a demo that looked right once.

Currently a B.Tech IT student at IIIT Bhopal, building multi-modal search infrastructure and studying distributed systems. Most of what I know came from breaking things at 2am and reading the syscall docs afterward.

The through-line across everything on this page is measurement. A system that works is a claim; a system with a benchmark, a coverage gate and a recovery test is a result. I would rather publish the number that disappoints me than the adjective that doesn’t.

Education

B.Tech, Information Technology

IIIT Bhopal

Period
Aug 2023 – Jun 2027
CGPA
8.43 / 10

02 / How I work

Three bugs that changed how I build

Not lessons from a blog post. Each of these is a specific thing that went wrong in a system on this page, what it cost to find, and what I do differently now.

  • 01 / 03

    Measure, don't assume

    I fused two embedding spaces by normalising and blending their scores. It worked — which was the problem.

    Whichever modality had the tighter score distribution silently dominated every ranking, and nothing in the output showed it. I caught it spot-checking results I had no reason to distrust.

  • 02 / 03

    Make the seam observable

    The bug wasn't in any component. Retrieval worked. Embeddings worked.

    It lived in the seam between them, and stayed invisible until I built decision traces that made the seam observable.

  • 03 / 03

    Refuse, don't guess

    When there aren't enough comparable products, pricing declines to estimate and says why.

    A confident wrong answer is worse than no answer.

03 / Projects

Five systems, built and benchmarked

Each one started with a problem I could not solve by installing something. Every card opens onto the architecture, the decisions worth defending, and the measured numbers.

Featured1,327 tests · 99% coverage

Multi-Modal Product Intelligence Engine

Keyword search misses the photo and image search misses the description, so neither can explain why two listings are the same product.

  • Hybrid image + text search over Qdrant, reranked by a cross-encoder
  • Duplicate detection across 3 tiers with an explainable verifier
  • 1,327 tests · 99% branch coverage · CI on every push

01/11Live catalog activity, pipeline throughput, system health

  • Python 3.12
  • FastAPI
  • Qdrant
  • Redis
  • CLIP
  • BGE
  • Sentence Transformers
  • Docker Compose
  • Prometheus
  • pytest
  • Next.js 15
  • TypeScript
  • Playwright
  • Live

    A RAG demo that answers one question well proves nothing — without a scoring harness, every change is a guess.

    • Hybrid FAISS + BM25 retrieval fused by Reciprocal Rank Fusion at k=60
    • Evaluation harness written before any tuning, not after
    • 289 tests · 87% coverage · live on EC2 behind Docker and Caddy
    • Python
    • FAISS
    • BM25
    • FastAPI
    • Sentence Transformers

    Read the engineering

  • Installing Redis teaches you Redis — not what it costs to hold a thousand connections, keep a shared map consistent, and survive a SIGKILL.

    • Raw TCP sockets, edge-triggered epoll, thread pool at 1,000 connections
    • 9,619 ops/sec single connection; 4,831 at 1,000 concurrent
    • 10,000 keys recovered in 410 ms after SIGKILL, zero data loss
    • C++20
    • TCP sockets
    • epoll
    • POSIX threads
    • Write-ahead logging

    Read the engineering

  • Live

    Optimisation is slow enough to time out a request, and the market-data API it depends on will eventually fail.

    • Optimisation runs offloaded to a Redis job queue — requests return at once
    • Dead-letter queue with a retry endpoint for failed jobs
    • 163 tests behind an 80% coverage gate enforced in CI
    • Python
    • FastAPI
    • React
    • TypeScript
    • Redis

    Read the engineering

  • Live

    An order is only really paid when the payment processor says so — not when the browser comes back from checkout.

    • 15+ REST endpoints with JWT/Bcrypt auth and role-based access control
    • Stripe webhooks for real-time order-state consistency
    • 3 indexed MongoDB collections behind a component-based admin dashboard
    • Node.js
    • Express.js
    • MongoDB
    • React
    • Redux

    Read the engineering

04 / Competitive programming

Problems solved under a clock

Contest programming is where I keep complexity analysis honest — you either found the right bound or you timed out. Every rating below links to the live profile it came from.

1,000+

problems solved across platforms

05 / Skills

What I actually work in

Grouped by the layer of the stack they belong to, not by how impressive the list looks. Each group opens to the full set.

  • Languages

    5
    • C/C++ (C++20)
    • Python
    • TypeScript
    • JavaScript
    • SQL
  • Distributed Systems

    10
    • TCP/IP sockets
    • epoll
    • Multithreading
    • Thread pools
    • Readers-writer locks
  • Backend

    10
    • FastAPI
    • Node.js
    • Express.js
    • REST API design
    • Async job queues
  • AI & Retrieval

    12
    • RAG
    • LangGraph
    • LLM tool calling
    • Qdrant
    • FAISS
  • Frontend

    8
    • Next.js
    • React
    • Redux
    • TypeScript
    • Tailwind
  • Infrastructure

    10
    • Redis
    • PostgreSQL
    • MongoDB
    • Docker
    • Caddy
  • Core CS

    6
    • Data structures & algorithms
    • Complexity analysis
    • OOP & design
    • Operating systems
    • DBMS

06 / Experience

Where the work has been paid for

  1. AI/LLM Engineering Intern

    Neura AI

    Jan 2026 – Mar 2026

    • Built a LangGraph state machine of 4 nodes driving the agent's control flow.
    • Exposed 5 internal tools through LLM tool calling, with the backend executing every function rather than the model touching anything directly.
    • Held agent state across PostgreSQL and Redis, so a conversation survives a process restart.
    • Enforced Pydantic validation at the model-to-application boundary — the one place where an LLM's output stops being text and starts being a function argument.
    • Shipped the service under Docker.
  2. Competitive Programming Member

    CODÂME, IIIT Bhopal

    Nov 2024 – Sep 2025

    • Led 10 workshops on data structures, algorithms and complexity for 120 first-year students.
    • Peer-reviewed 15 contest problems with 3 team members.
    • Contributed to a 65% increase in club outreach.

07 / Contact

Let’s talk

Open to SDE and AI engineering internships. I reply to everything.