Devendra

Things

User Core

A production-shaped FastAPI service built as a benchmark platform for observability and load testing. It exposes a Task CRUD API with Clerk authentication, correlates request/trace IDs across structured logs, metrics, and distributed traces, and ships 12 k6 load scenarios with live Grafana visualization.

  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Clerk
  • Prometheus
  • Grafana
  • OpenTelemetry
  • Jaeger
  • k6
  • Docker

LLM Judge Harness

A lightweight evaluation harness for checking whether an agent answers correctly and uses the expected tools. It runs CLI-based evals, provides a Streamlit interface for creating test cases, supports configurable agent and judge models through Ollama, and combines keyword, tool-call, and rubric-based LLM-as-judge checks.

  • LLM Evaluation
  • LangChain
  • Ollama
  • Streamlit
  • Python
  • Tool Calling
  • LLM-as-Judge
  • qwen3.5:4b

Career RAG

A local RAG system for structured CV analysis and explainable job recommendations. It extracts candidate data from text-based PDFs with Pydantic validation, generates CV, skill, and job embeddings with nomic-embed-text, retrieves semantically relevant roles, and uses qwen2.5:0.5b through Ollama to explain each match in a Streamlit interface.

  • RAG
  • Python
  • Streamlit
  • Ollama
  • nomic-embed-text
  • qwen2.5:0.5b
  • Pydantic
  • Docker

Profile RAG

A profile-aware RAG application that lets users upload .txt or Markdown profiles and query them through a chat interface. The API chunks plain text by paragraphs and Markdown by headings, generates embeddings with nomic-embed-text, stores username-scoped context in ChromaDB, retrieves relevant passages per question, and uses the local qwen2.5:0.5b Ollama model to generate grounded responses.

  • RAG
  • FastAPI
  • ChromaDB
  • Ollama
  • nomic-embed-text
  • qwen2.5:0.5b
  • React
  • Vite
  • JavaScript

Tech Shorts

A curated, vertical feed for discovering technology-focused YouTube Shorts. A Python ingestion pipeline collects videos up to 60 seconds long from selected channels through the YouTube Data API, stores them in SQLite, and serves a paginated feed through FastAPI. The lightweight JavaScript interface uses the YouTube IFrame API for continuous, swipe-friendly playback.

  • YouTube Data API
  • FastAPI
  • SQLite
  • Python
  • JavaScript
  • Docker
  • Content Curation