I build backends end-to-end — distributed systems, LLM gateways, middleware automation, and the infrastructure that keeps them reliable. Backend developer focused on microservices, cloud architecture, and open-source work in the AI tooling ecosystem.
Maintainer @ InfiniFlow — dedicated maintainer of the MinerU PDF/layout parser in RAGFlow (90K+ GitHub stars). Own MinerU-related issues and PRs; contributed MonkeyOCR as a dedicated PDF backend (#19044).
- openinference — one repo, two products: SentinelAI, a self-hosted AI gateway (multi-provider routing, guardrails, hybrid RAG, agents, traces, evals, React admin) and
@openinference/cli(oi), a publishable CLI for hardware-aware local models and a project-local agent harness. Stack: Fastify · PostgreSQL/pgvector · Redis/BullMQ · Docker Compose. Live — demo · API docs · CLI guide. - compacter — context control for CLI coding agents (Claude Code, Codex, opencode, Aider). You choose which messages are kept verbatim, summarized or dropped, preview the compaction before it's applied, and carry selected context into new chats. Python CLI with an npm launcher · 170 tests ·
npx compacter doctor.
100+ upstream pull requests merged and reviewed in 2026 (own repos excluded) across LLM platforms, local inference, agents, and ML infrastructure. Merged PRs · Reviewed PRs.
LLM platforms
-
infiniflow/ragflow — maintainer, MinerU parser (90K+ ★). Merged: dataset navigation tree (#17668), canvas autosave guard (#18783), spreadsheet/JSON parser hardening (#19237), wiki retrieval fields (#18787), chunk
image_update_mode(#18889), DOCX preview loop (#19475), MinerUserver_urlin Go PDF parser (#19445), text-only pre-index wire contract (#19478), Zotero connector (#19742), OpenAI GPT-5.6 models (#19856), numpy 2.x on Python 3.13 (#20014), chunker media context (#20265). Open: MonkeyOCR Go dispatch (#20469), MonkeyOCR Python backend (#20465), DOCX delimiter Q&A grouping (#20514), embedded-image VLM in DeepDOC (#20429). -
langgenius/dify — Merged: legacy
model_typecleanup (#39708), agent think-tag closure (#41764), CSV cell text on import (#41922), in-run tool file grants (#41300),UV_CACHE_DIRfor plugin daemon (#42481), defer tldts for MCP favicons (#42486), nuqs peer alignment (#42517), bump c12 (#43103). Open: workflow conversation variables (#43329), agent plugin blob outputs (#43099), retrieval quota withskip_on_error(#43097). -
Mintplex-Labs/anything-llm — merged: You.com web search for agents (#6058). Open: generic OpenAI sampling passthrough (#6048), saved endpoint connections (#6065).
-
BerriAI/litellm — Merged: form-encoded video edit/extension bodies (#36513), managed batch output files (#34092). Open: internal metadata leak (#36412), Prometheus unmatched-path labels (#36410),
system_promptlogging (#36406). -
langfuse/langfuse — open: monitor alert filter evaluation (#16719), comment-mention email persistence (#16580), login rate limits (#16577), observation IO in legacy trace downloads (#15451), admin API to list orgs by email (#15453).
Agents & orchestration
- mastra-ai/mastra — Merged: sequential allow-tool results after auto-approved resume (#19940), Zod v4
jsonSchemaadapter (#21187). Open: publish stored skill drafts (#23032), deployment thinking defaults (#23031), workspace resolution from project root (#22861).
Local training & inference
-
unslothai/unsloth — Studio, installer, and inference (75K+ ★). Merged:
- #7297 — fix(studio): show chat sidebar menu on touch devices
- #7298 — fix(studio): persist connection model selections for remote clients
- #7299 — fix: pin torchcodec for torch 2.10 and warn on ABI mismatch
- #7300 — fix(install): route Strix to AMD gfx index on ROCm 7.14
- #7305 — fix(install): infer Strix gfx when ROCm runtime is absent
- #7322 — fix(studio): opt-in source-build GPU smoke validation
- #7323 — fix(studio): resolve bare git on Windows sandbox PATH
- #7324 — fix(install): show detected distro in sudo apt Accept prompt
- #7332 — fix(studio): stop false MTP/vision capability reports
- #7334 — fix(studio): neutralize chat-template control markup in client text (#7066)
- #7348 — feat(studio): expose full KV cache dtype list in model config UI
- #7349 — fix(studio/colab): restore blank Colab iframe embed (#7344)
- #7351 — fix(studio): honor run settings on initial model load (#7346)
- #7352 — feat(studio): presets include load settings (#7347)
- #7373 — Installer: opt-in Vulkan llama.cpp backend (and fallback when no AMD card is HIP-supported)
- #7375 — Studio: restore cached models hidden by a dangling HF ref, and stop auto-load downloading after a failed load (#7374)
- #7415 — fix(studio): reject Vulkan diffusion gpu_ids before Phase 1 teardown
- #7453 — fix(studio): refresh token count after model load (#7450)
- #7482 — avoid Hub metadata probe when loading tokenizers with local_files_only
- #7976 — [Fix] Unsloth Studio: Strip ANSI escape codes from Studio tool output panes
- #7982 — Fix desktop image drops for chat attachments
- #7985 — Clamp Deep Research max_tokens to loaded context window
- #8217 — Fix resume button missing after stop-and-save (#8150)
- #8389 — fix(studio): return 404 for mistyped GGUF model ids on /v1 API
- #9149 — fix(studio): auto-enable --embedding for GGUFs missing pooling_type
- #9346 — fix(studio): use resolved public id in embeddings/completions monitor
- #9402 — fix(studio): refresh profile stats and mode-aware activity summary
- #9770 — route thinking controls to ollama
- #9773 — Studio: honour forced tool_choice on local GGUF tool loops
- #9774 — Studio: add Chat settings to disable or ease GGUF auto-compaction
- #9849 — Studio: keep a Downloads entry when the list is empty
- #9870 — Fix Studio CPT overwriting LFM2 all-linear LoRA targets
- #9871 — strip inherited claude provider routing from local agent launches
- #9905 — fix(studio): repair custom TTS endpoint test and playback
- #9980 — Fix llama.cpp Studio update failures on GitHub API rate limits (#9970)
- #10045 — Studio: resume HTTP after Xet stall without a transport-conflict banner
- #10048 — Studio: browse temporary Linux mounts under /media and /mnt
- #10253 — Studio: drop MediaPageLink tooltip below titlebar controls on Windows
- #10263 — Keep the LoRA GGUF and compressed-tensors converters off the operator's Hugging Face token
- #10264 — Studio: verify Hub credentials before cache-backed reads
- #10312 — fix(tokenizer): enable add_bos_token for Gemma 4 base models
- #10642 — feat(studio): consistent SSH restrictions with approved-server allowlist
- #10644 — fix(studio): keep distinct symlink aliases for per-model settings
- #10708 — Studio: add Download Dataset button for Data Recipes
- #10710 — Studio: JSON and Markdown validator blocks
- #10736 — Studio: top-level Models block group in picker
- #10837 — fix(studio): retry custom gateways with max_completion_tokens after max_tokens 400 (#10787)
- #10847 — fix(studio): serve desktop SPA on loopback listener
- #10849 — fix(studio): bundle hf-xet for Desktop large Hub downloads
- #10851 — fix(studio): share Run settings draft across sidebar and model picker
- #10870 — fix(studio): include loaded llama extra args in active model baseline
- #11499 — feat(studio): configurable RAG upload extensions via RAG_UPLOAD_EXTS
- #11500 — fix(studio): reconcile externally updated saved assistant messages
- #12087 — fix(studio): prevent terminal tool hangs in credential scan (#12048)
- #12091 — feat(studio): complete embedded image recipe and Recipe popover
- #12138 — fix(studio): allow Enter to send with idle macOS Pinyin IME
Open: markdown chat import/export (#12513), offline On Device GGUF discovery (#12451), 1-D GGUF norm dequant (#12449), block-split long backslash lines (#11501), WSL2 localhost hint (#11361),
web_searchargument recovery (#9716). All Unsloth PRs. -
unslothai/unsloth-zoo — Merged: Qwen3.8 vision
enable_thinking(#1072), FLA autotune cache key (#1195), MLX trusted-dir test on Windows (#1228). -
langgenius/dify-official-plugins — Merged: event-loop-safe plugin file parse (#3756), Cohere embed-v4.0 (#3769), Tongyi temperature floor (#3767), qwen3.8-flash models (#3822). Open: dynamic
extra_headerson OpenAI-compatible (#3869), Qwen3-VL embedding/rerank (#3841),reasoning_effortforwarding (#3832).
Parsers, SDKs & ML pipelines
- langgenius/dify-plugin-sdks — merged:
BINARY_LINKinvoke message type (#385). - we-like-parsers/pegen · BerkeleyLearnVerify/Scenic — merged: Python 3.12+ f-string conversion specifiers (#118, #501). Open: OpenDRIVE
paramPoly3arc length (#505). - jonescompneurolab/hnn-core — Merged: Safari stray scrollbars on empty GUI dropdowns (#1360). Open: evoked
set_paramstest helper (#1362). - kubeflow/pipelines — open: in-cluster KFP client DNS (#13820), parameterized container images (#13821), cyclic dependency detection (#13823), pipeline I/O validation (#13824), default StorageClass for CreatePVC (#13834).
Node.js · TypeScript · Python · Go · Java · Spring Boot · gRPC · PostgreSQL · Redis · RabbitMQ · MongoDB · AWS · Docker · Kubernetes · React · Next.js · Fastify · Dify · Langfuse · LiteLLM · RAGFlow · MinerU · Unsloth
- Portfolio — souravrajvi0.github.io
- LinkedIn — linkedin.com/in/souravrajvi
- Email — souravrajvi@gmail.com
- GitHub — github.com/Souravrajvi0



