M.Anees
  • Work
  • About
  • Skills
  • Experience
  • Contact
Get in touch
All projects
Personal2025 – 2026

NeuroDesk

Chat with your documents — a RAG platform with per-user vector isolation

View source(opens in a new tab)

Role

Solo engineer — architecture, backend and frontend

Vector store

Per-user isolation

LLM providers

GPT-4o + Gemini

Ingest

Token-aware chunking

The problem

Teams sitting on hundreds of pages of PDF documentation have no fast way to get answers out of it. Generic chatbots hallucinate because nothing grounds them, and naive RAG implementations leak one user's documents into another user's answers.

What I built

A FastAPI backend ingests PDFs, chunks them token-aware, embeds with OpenAI text-embedding-3-small and stores vectors in Chroma Cloud under per-user collections. A LangGraph agent orchestrates retrieval — optionally across several collections at once — before composing an answer with GPT-4o or Gemini, selected by environment. Conversation history, generated summaries and feedback persist in MongoDB.

Impact

Every collection is namespaced user_{userId}_ and access is enforced server-side, so cross-user retrieval is structurally impossible rather than filtered after the fact.

Architecture

FastAPI + Pydantic API with JWT bearer auth and bcrypt password hashing. LangGraph handles retrieval orchestration; LangChain wires the model and vector-store adapters. Chroma Cloud stores vectors, MongoDB stores users, chat history, reset tokens and email logs. Optional SMTP for password reset. Uploads are capped at 10MB with chunking and embedding on ingest. The frontend is Next.js 15 + React 19 on Tailwind v4, with Zustand for client state and TanStack Query for server state.

Key features

  • Per-user Chroma collections with server-enforced prefix isolation
  • LangGraph agent driving single- and cross-collection retrieval
  • Runtime switching between GPT-4o and Gemini
  • Token-aware chunking with OpenAI text-embedding-3-small
  • Paginated conversation history and LLM-generated PDF summaries
  • JWT auth with bcrypt hashing and SMTP password reset

Tech stack

  • FastAPI
  • Python
  • LangGraph
  • LangChain
  • ChromaDB
  • OpenAI GPT-4o
  • Google Gemini
  • MongoDB
  • Pydantic
  • JWT
  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Zustand
  • TanStack Query

Interested in work like this?

Get in touch
M.Anees

Software Engineer building AI-powered products

WorkAll projectsExperienceContact

© 2026 Muhammad Anees. All rights reserved.

Built with Next.js, TypeScript & Tailwind CSS