Skip to content
View sh1v-max's full-sized avatar
๐Ÿ 
Learning from home
๐Ÿ 
Learning from home

Block or report sh1v-max

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
sh1v-max/README.md
Typing SVG

Portfolio LinkedIn Email X LeetCode Profile views


๐Ÿ‘‹ Hi, I'm Shiv

I'm a full-stack developer from Bengaluru, India who builds with React, Node.js, Express, MongoDB and PostgreSQL, and I've spent the last few months going deep on how AI backends actually work: embeddings, vector search, RAG, conversation memory, streaming and structured LLM output.

I like building things end to end and shipping them. Every project below is live, deployed on free-tier infrastructure, and has a README that explains the why behind the decisions, not just the features.

const shiv = {
  role: "Full-Stack Developer",
  basedIn: "Bengaluru, India ๐Ÿ‡ฎ๐Ÿ‡ณ",
  education: "B.Tech CSE, Lovely Professional University (2024)",
  stack: ["TypeScript", "React", "Node.js", "Express", "PostgreSQL", "MongoDB"],
  ai: ["RAG", "Embeddings", "pgvector", "SSE streaming", "Structured output + Zod"],
  nowLearning: ["BullMQ + Redis", "Agents & tool calling", "Vitest + Supertest", "Docker"],
  consistency: "300+ day GitHub streak ยท 100+ days of DSA",
  openTo: ["Full-Stack", "AI Backend", "Frontend"],
};

๐Ÿง  Flagship: DocMind

Upload a PDF, chat with it, get quizzed on it. An AI backend built from scratch to understand how AI products work under the hood. No LangChain, no LLM SDK: just Express, Postgres and plain HTTP calls to Gemini, so every piece is visible.

TypeScript Express 5 PostgreSQL pgvector Drizzle ORM Gemini API Zod Server-Sent Events React 19

Live Demo Live API GitHub

flowchart LR
    A[๐Ÿ“„ PDF upload] --> B[Parse text]
    B --> C[~500-word chunks]
    C --> D[Gemini embeddings<br/>3072-dim]
    D --> E[(Postgres + pgvector)]
    Q[๐Ÿ’ฌ Question] --> F[Embed question]
    F --> E
    E -->|top-3 by cosine distance| G[Prompt: chunks + last 8 turns]
    G --> H[Gemini]
    H -->|streamed over SSE| U[โš›๏ธ React UI]
Loading
  • ๐Ÿ“„ Ingestion pipeline: PDF โ†’ text โ†’ chunks โ†’ Gemini embeddings (3072-dim) โ†’ pgvector, each chunk tagged with its document
  • ๐Ÿ” RAG chat over one PDF or all of them, with the source passages (and which file they came from) shown under every answer
  • ๐Ÿงต Conversation memory in Postgres: the last 8 turns go into every prompt, and a page refresh resumes the same chat
  • โšก Live streaming over SSE, parsed by hand from Gemini's raw byte stream with an async generator
  • ๐Ÿ“ Quiz generation with Gemini's structured-output mode, validated with Zod, retried once on bad output, options shuffled in code, graded in the browser
  • โ˜๏ธ Deployed on free tier: API on Render, frontend on Vercel, Postgres on Neon
๐Ÿ”Ž Engineering decisions worth knowing
  • Validate the model like any untrusted client. Every quiz goes through a Zod schema before it's used. The model was valid 17/17 times in testing, so it's insurance, and a gallery of deliberately broken replies proves what it catches.
  • Valid isn't the same as good. Across 50 generated questions the correct answer landed unevenly (one slot 36%, another 10%), so options are shuffled in code (Fisherโ€“Yates) after validation instead of trusting the model's habits.
  • Retry once, then fail honestly. Two attempts max, then a clean 502. Never an endless loop.
  • Errors travel inside the stream. Once an SSE response starts, its status code is already sent, so failures go out as an in-band error event.
  • Readable errors. A failed vector query from Drizzle dumps all 3072 embedding numbers. A small helper prints just the message, the underlying cause, and the line in the codebase where it broke.
  • Routes โ†’ services โ†’ repositories. Only repositories touch SQL, and services never touch req/res, so the same pipelines can later run inside a background worker.

โณ The API is on Render's free tier, so the first request after it's been idle can take up to a minute while it wakes up.


๐Ÿš€ Featured Projects

๐ŸŽฌ Cinegraph

AI movie, TV & anime recommender

React 19 Redux Toolkit Firebase Gemini API Cloudflare Workers TMDB Tailwind v4

  • ๐Ÿ” Gemini key kept server-side in a Cloudflare Worker proxy with a CORS allow-list and input caps
  • โœ… Model returns strict JSON, and every title is cross-checked against TMDB, so no hallucinated picks reach the UI
  • ๐ŸŽฏ Taste profile from your likes/dislikes (top genres, genres to avoid, favorite decade) fed into the prompt
  • ๐Ÿ’ฌ Multi-turn follow-ups ("more like the third one") and three personalized "For You" rows
  • ๐Ÿ”ฅ Firebase Auth + Firestore with owner-only security rules

Live Code

โš™๏ธ TaskForge

Secured REST API + React task manager

Node.js Express 5 MongoDB JWT Zod Swagger React 19 GitHub Actions

  • ๐Ÿ” JWT + bcrypt auth, and every query scoped to its owner, so users only ever see their own data
  • ๐Ÿ›ก๏ธ Zod on bodies and query strings, Helmet, locked-down CORS, proxy-aware rate limiting (100 req / 15 min)
  • ๐Ÿ“„ Interactive Swagger / OpenAPI docs
  • ๐Ÿ” Server-side filtering, sorting and pagination
  • ๐Ÿ” GitHub Actions CI, auto-deploys to Render (API) and Vercel (frontend)

Live API Docs Code

๐Ÿฅ˜ BharatDiet

Personalized nutrition for real Indian food

React 19 Vite Tailwind v4 React Router 7 Vitest

  • ๐Ÿ› Meal planner matched to your calories, protein target, region, diet type and daily budget in โ‚น
  • ๐Ÿงฎ Greedy meal allocator with a protein-boost pass and portion reconciliation ("2 roti โ†’ 2.5 roti")
  • ๐Ÿ“Š 200+ Indian foods with real serving sizes, macros and cost, sortable by protein-per-rupee
  • ๐Ÿงช Vitest suite: nutrition formulas, dataset validation, and every region ร— diet ร— budget ร— goal combination
  • ๐Ÿ”“ Runs fully client-side: no account, no tracking

Live Code

๐Ÿ• BiteSwift

Swiggy-style food delivery app

React 19 Redux Toolkit React Router Parcel Netlify Functions

  • ๐Ÿ›’ Redux Toolkit cart with quantities, a bill breakdown (GST, fees, coupons) and a simulated checkout
  • ๐ŸŒ Netlify Functions proxy for Swiggy's listing API, which sends no CORS headers
  • ๐Ÿงฏ Menus blocked by bot protection fall back to mock data in the exact same shape, so the app never breaks
  • ๐Ÿ’ก Shimmer loading, lazy-loaded routes, custom hooks

Live Code

๐Ÿงฉ More builds

Project What it is Stack Links
๐ŸŒ Portfolio 6 themes (WCAG AA checked), live GitHub dashboard with a contribution calendar, project case studies, 33 UI experiments, contact form via a Netlify Function React, Vite, Tailwind v4, Framer Motion Live ยท Code
๐Ÿ“š BookVerse Book discovery with debounced search by title, author or genre, trending lists and detailed book pages React, Tailwind CSS, Open Library API Live ยท Code
๐Ÿ—บ๏ธ Where Is Your Country One of my early builds for exploring countries of the world JavaScript Live

๐Ÿ› ๏ธ Tech Stack

Languages
Frontend
Backend & Data
DevOps & Tools
AI & Libraries

Gemini pgvector RAG SSE Drizzle Zod JWT Swagger Render Neon

Learning now

BullMQ Agents Vitest Docker Next.js


๐Ÿงญ How I Build

  • Understand it, then build the smallest real version. DocMind has no framework doing the interesting parts on purpose, so I know what RAG, streaming and structured output look like underneath.
  • Treat model output as untrusted input. Validate it with a schema, cross-check it against real data, and never let a hallucinated result reach the user.
  • Secrets stay on the server. API keys live behind a proxy or backend, never in the browser bundle.
  • Ship it, then document the why. Every project is deployed and has a README that explains the tradeoffs, including known limitations.
  • Free-tier first. Render, Vercel, Netlify, Neon, Firebase and Cloudflare Workers, no card required.

๐Ÿ“Š GitHub Stats

GitHub Stats Top Languages
GitHub Streak
Contribution Chart

๐Ÿค Let's Connect

I'm open to Full-Stack and AI Backend roles. If you're building something with LLMs, APIs or real users, I'd love to talk.

Email LinkedIn Portfolio X LeetCode

Pinned Loading

  1. AI-Backend AI-Backend Public

    A beginner-friendly, hands-on learning path for AI backend development, covering the fundamentals of TypeScript and backend architecture, PostgreSQL and database design, Drizzle ORM and migrations,โ€ฆ

    HTML

  2. JavaScript-DSA JavaScript-DSA Public

    A daily practice repository for mastering Data Structures and Algorithms using modern JavaScript. Built on the philosophy of consistent progress over perfection โ€” solving 1-2 problems daily to builโ€ฆ

    JavaScript 1

  3. Backend-Projects-2 Backend-Projects-2 Public

    JavaScript

  4. BiteSwift BiteSwift Public

    A high-fidelity, responsive Swiggy clone built with React. BiteSwift delivers real restaurant data, a working cart with quantity tracking and checkout, and a clean, mobile-responsive UI โ€” with gracโ€ฆ

    JavaScript

  5. BookVerse BookVerse Public

    BookVerse is a modern, responsive web application built with React that allows users to discover, search, and explore books effortlessly. Users can search for books by title, author, or genre, and โ€ฆ

    JavaScript

  6. CineGraph CineGraph Public

    An AI movie, TV, and anime recommendation engine built on your own taste graph โ€” not another feed of what's popular this week.

    JavaScript