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.
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), DOCX preview loop (#19475), spreadsheet/JSON parser hardening (#19237), wiki retrieval fields (#18787), chunk
image_update_mode(#18889), text-only pre-index wire contract (#19478). Open: MonkeyOCR PDF backend (#19044), MinerUserver_urlin Go PDF parser (#19445). - langgenius/dify — Merged: legacy
model_typecleanup (#39708), slash variable picker (#39761), cached recommended-app templates (#40176), UTF-8 binding-file preview (#41761), boolean server defaults (#41762), agent think-tag closure (#41764), CSV cell text on import (#41922), model delete query params (#42162). Open: provider credential DELETE params (#42244), web reader HEAD→GET fallback (#42242), dataset api-keys route (#42210). - 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
- #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
- #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
- #10708 — Studio: add Download Dataset button for Data Recipes
- #10849 — fix(studio): bundle hf-xet for Desktop large Hub downloads
- #10851 — fix(studio): share Run settings draft across sidebar and model picker
Open: block-split long backslash lines (#11501), reconcile saved assistant updates (#11500), configurable RAG upload extensions (#11499), llama extra args in model baseline (#10870), Run settings editor keys (#10869). All Unsloth PRs.
-
unslothai/unsloth-zoo — open: GPT-OSS optional import cascade (#1198), FLA autotune key work (#1195), Qwen3.8 vision
enable_thinking(#1072). -
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). - 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



