Skip to content
View SalmanDeveloperz's full-sized avatar
🎯
Focusing
🎯
Focusing

Organizations

@qelvo @ezvor

Block or report SalmanDeveloperz

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
SalmanDeveloperz/README.md
salman@env: whoami, live open source contributions, and now.json

I build systems and fix the pipelines nobody wants to touch.

Software engineer @ 9D Technologies in Lahore, Pk. I write Python and FastAPI services, the CI/CD that ships them, and the telemetry that explains them when they break. Most of my open source work lands in large, long-lived codebases: container images, build systems, CI, and the accessibility bugs everyone had learned to live with. Lately, LLM agents that are only allowed to do what they can prove.

Website · Résumé · LinkedIn · X · Medium · Email


Career, as a trace

I debug systems by reading traces, so this is my history the way Jaeger would draw it. Each role is a span; the live ones keep growing.

Career rendered as a distributed trace: university, Hywiz, freelance, GSoC at FOSSology, LiFT scholarship, Jenkins, OWASP Nest, 9D Technologies

Open any span on the interactive version.

Shipped

Every one of these is running or merged somewhere you can check.

Env var substitution in the Jenkins image  upstream

Opt-in substitution for reference config in containerized Jenkins, closing a request open since 2017. I followed it with Windows parity in PowerShell: Invoke-EnvVarSubstitution for .xml, .conf, .properties and .groovy files, with three Pester tests.

🚢 Shipped in Weekly 2.565 and LTS 2.568.1 · #2250 ↗ · #2365 ↗

FOSSology microservices  GSoC 2025

Revived a branch frozen since 2021 and ran the scheduler, database and agents as 10+ services on Kubernetes, with a Kustomize base across 26 manifests. Moving from Make to CMake cut build time by 40%. The hard part was a scheduler crash loop, traced through schema limits, container networking and init ordering.

☸️ 10+ services · −40% build time · Final report ↗

SigNoz AI SRE  LLM agent

A self-healing loop driven by SigNoz alerts. Rules fix known failures. Unknown ones go to an LLM with two read-only tools, a three-key action allowlist and a 10-second timeout, and its proposals pass the same safety check a human's would. Every model call is a traced span.

🤖 Gemini · Claude · GPT behind one interface · Watch it run ↗

PoS-OTel  observability

Jenkins exports traces to an OpenTelemetry Collector that keeps every failed build, every build over 30 seconds and 20% of the rest. Traces go to Jaeger; span metrics feed Prometheus and Grafana. I built it after an afternoon of correlating container logs by hand during GSoC.

📉 −81% trace data across 9 pipeline runs · Source ↗ · Simulator ↗

Ezvor  full stack

A career platform that scores readiness only from work a judge has verified. It combines a 3,977-problem graded DSA arena with live GSoC, LFX and Outreachy status. The score is a pure function of the evidence, with no model and no network calls, so it can't be gamed.

🟢 Live · App ↗ · Source ↗

PDF Scanner Web  9D Technologies

The web side of PDF Scanner, an Android app with 50M+ installs. It has 31 document tools, including merge, compress, OCR, sign and redact, and every one runs in the browser. Files never leave the device, so there's no conversion server to run.

🟢 Live · 31 tools · 0 uploads · App ↗ · Source ↗

Also: this portfolio, an Astro site with a working terminal and in-browser BM25 "ask my résumé" · Stremo, public-domain cinema from the Internet Archive · RevealX, a password-reveal extension that survives React re-renders · AutoAccept, a one-click friend-request extension. Every repo →

Upstream

Counts come from the GitHub API and refresh daily, so nothing here is typed by hand.

Project Merged What I did
Jenkins 5 Opt-in env var substitution for the official Docker image, closing a 2017 request, then Windows parity in PowerShell with Pester tests. Both ship in Weekly 2.565 and LTS 2.568.1. Keyboard-navigation and ARIA fixes in core.
FOSSology 19 GSoC 2025: a monolith split into 10+ services on Kubernetes, and a Make → CMake move that cut build time 40%. Fixes in the copyright, nomos and cp2foss agents, plus all 14 weekly reports.
OWASP Nest 1 Collaborator since Jan 2026. Focus-visible accessibility reports, the GSoC 2026 mentor list, and a security issue disclosed privately.
FailureTwin 1 Put a live LLM analysis path in front of the deterministic engine and kept the engine as the fallback, with no secrets in the client bundle.
sktime in review Sporadic optimization bracket errors in BoxCoxBiasAdjustedForecaster.
NumFOCUS 1 Edits to the DISCOVER Cookbook, the guide for inclusive conferences.
TYPO3 1 Reworked the testing framework docs and removed deprecated Nimut references.

Plus 1 more in meshery/meshery.

Jenkins (every PR, issue and review):


Change PR
🚢 Opt-in env var substitution for containerized Jenkins, open since 2017 docker#2250
🚢 Windows parity: Invoke-EnvVarSubstitution for .xml, .conf, .properties, .groovy, with 3 Pester tests docker#2365
✅ Keyboard navigation scrolling in dropdowns, where off-screen items lost visual feedback. Reported in #26357 jenkins#26358
✅ Theme picker keyboard navigation via event delegation on dynamic elements, requested by the maintainer theme-manager-plugin#350
✅ Broken GitHub profile link on jenkins.io, fixed after confirming with the affected contributors jenkins.io#8629
🟡 Double-clicking the search placeholder no longer blocks input. Reported in #26389 jenkins#26418
🟡 ARIA roles for screen readers on dropdown menus jenkins#26321

Issues I opened: #26357 dropdown keyboard navigation, with a video repro (fixed in #26358) · #26389 search placeholder (fix in #26418) · #26390 breadcrumb dropdown on small viewports (I reviewed the fix, #26391) · docker#2350 Windows parity (fixed in #2365)

Reviews and discussions: review on #26391 · theme-manager-plugin #354 · plugin-site-api #107 · Matrix accessibility thread · GSoC 2026: OpenTelemetry scaling strategies

🚢 shipped in a release · ✅ merged · 🟡 in review · full history →

FOSSology (GSoC 2025, week by week):


I spent a summer building a complete microservices infrastructure for FOSSology: scheduler, database and agents running in Docker and Kubernetes. It taught me distributed systems and configuration management, but mostly what happens when you don't have observability. That is the reason I later built PoS-OTel.

Weekly reports · Repository · Final report · Working branch OmarAbdelSamea/GSoC/Microservices

Commit Date
1af934a feat(core) microservices infrastructure 2025-06-26
440f907 fix(scheduler) CrashLoopBackOff and web deployment connectivity 2025-07-02
4fd4787 build Make → CMake, missing agent Dockerfiles and deployments, rebased on master 2025-08-26
Merged fix PR
✅ fix invalid characters in the copyright agent URL regex #3212
✅ fix(agent-tests) PHPUnit tests modernized for the CMake migration #3037
✅ feat(debug) debug logging for version control commands #2958
✅ fix URL and email false positives on example domains and specific TLDs #2955
✅ fix nomos CLI no longer connects to the DB when it isn't needed #2947
⚪ fix(cli) cp2foss stops silently queueing jobs for unreachable URLs (closed) #3314
Week Report What happened
Bonding #300 Kickoff, 1:1s with mentors Soham and Avinal, closed out #1299, local environment ready by May 31.
1 #314 Docker, Minikube and kubectl on Ubuntu 24.04. Rebased Omar's 2021 branch. Build failures, a stale etcd image, and the web UI serving Debian's default Apache page.
2 #319 Tried bookworm-slim, rolled back to buster-slim, fixed file paths, built every base image. Then db-0 stuck in Init.
3 #327 Missing libcurl in the scheduler build, web starting before PostgreSQL, a schema crash. First working UI.
4 #330 Minikube → Kind for a faster loop. First implementation up for review. Scheduler still in CrashLoopBackOff.
5 #340 Crash loop fixed for good. Next: the web pod resolving PostgreSQL via localhost instead of the service.
6 #346 PHP config and DB connectivity from pod logs. Agreed the Make → CMake move with mentors.
7 #349 Most components building under CMake, the scheduler the last failing image. Passed the midterm.
8 #355 CMake on Bookworm, back to Minikube, synced with master. Manifests for four missing agents.
9 #364 Missing DB columns for the web agent, a curl health check for the scheduler, a clean Dockerfile.ojo.
10 #365 Scheduler partially functional. Kustomize restructure started. Consulted the original 2021 contributor.
11 #371 A Kustomize base with dev and prod overlays across 26 manifests.
12 #372 Remaining instability traced to install path mismatches. Rebuild versus incremental fix, weighed.
13 #373 Legacy vs modern scheduler compared, last failures traced to upstream migrations. Final report.

Issues: #3374 email notification docs for modern Debian/Ubuntu · #2996 panel synchronization button · all FOSSology PRs →

🌎OWASP, sktime, aeon and the rest


  • OWASP Nest, collaborator since January 2026. The GSoC 2026 mentor entry. Reported clipped focus-visible outlines (#3561) and selectable search hints (#5602). Disclosed a security issue privately.
  • sktime. Sporadic bracket errors in BoxCoxBiasAdjustedForecaster, #10316.
  • aeon-toolkit. RDSTRegressor and RISTRegressor tests after Ubuntu CI verification (#2599), and a notebook on aeon distances with sklearn clusterers (#2511). Both closed.
  • Dragonfly. LMPOP with unit tests in C++, #3925 (closed).
  • NumFOCUS DISCOVER Cookbook (#73) and TYPO3 tea (#1480): documentation.
  • Infomaniak kDrive. Reported the sign-up flow sticking on first launch, #1117.

Every PR outside my own repos →

How I build with LLMs

Deterministic first. Known failures take a plain if/else. The model only sees what the rules can't explain.
Guardrails live outside the model. A small action allowlist, read-only tools and a hard timeout. Safety comes from a small action space, not from trusting the output.
Every model call is a span. The model, token counts and each tool call are traced next to the infra they investigated, so cost is a query.
Fallbacks are part of the contract. No key, a timeout or a bad answer resolves to "needs a human". In a live run, my agent found no evidence and declined to act.

From SigNoz AI SRE and failuretwin-ai#12.

Changelog

$ git log --oneline --graph -8
* 06ddd58  2026-09     feat   PDF Scanner Web: 31 document tools, all in the browser, for 9D Technologies
* 094c45c  2026-08-09  merge  Live LLM analysis path with the deterministic engine kept as fallback
* 61edd8f  2026-08     chore  Joined 9D Technologies as a Backend Software Engineer
* 8f79334  2026-07-20  feat   SigNoz AI SRE: self-healing loop with a guarded LLM tier
* f4e7e8b  2026-07-07  feat   Ezvor: career platform scored only on judge-verified work
* d35f0f2  2026-06-10  merge  Env var substitution for Windows containers, shipped in LTS 2.568.1
* 580fdd9  2026-05-18  merge  Closed a 2017 issue: env var substitution in the official Jenkins image
* 1c5c477  2026-03-17  feat   PoS-OTel: OpenTelemetry pipeline for Jenkins CI, 81% less trace data

Synced daily from the full changelog.

Recognition

  • 🏅 Google Summer of Code 2025, FOSSology. Under 5% acceptance, one of a small number of Pakistani contributors that year.
  • ☸️ Linux Foundation LiFT Scholar 2025, a full scholarship for Kubernetes for Developers (LFD259) and its exam.
  • 🥇 Byte & Battle Hackathon 2025, 1st place university-wide and 3rd at district level, in speed programming.
  • 🎓 PEEF Scholarship, an 80% fee scholarship from the Government of Punjab for academic merit.
  • 🤝 Dev Weekends, mentor for developers getting into open source and GSoC.

Writing

Stack

Python, TypeScript, JavaScript, C++, FastAPI, Node.js, Express, PostgreSQL, MySQL, MongoDB, Redis, Supabase, Docker, Kubernetes, Jenkins, GitHub Actions, AWS, Linux, Prometheus, Grafana, React, Angular, Astro, Tailwind, scikit-learn, Git

AI: tool-calling agents, Vercel AI SDK, Gemini · Claude · GPT, LangChain, RAG, embeddings, BM25, OpenTelemetry gen_ai.* tracing, NumPy, pandas, Hugging Face Transformers.
Also: OpenTelemetry, Jaeger, SigNoz, Kustomize, CMake, JWT, Socket.io, PowerShell, HTML5.

This week in code

Say hello: Email · LinkedIn · X · Website · or run sudo hire salman in the terminal there

Pinned Loading

  1. ezvor/ezvor ezvor/ezvor Public

    Ship a serious engineering career, from first commit to offer letter.

    TypeScript 1 1

  2. PoS-OTel PoS-OTel Public

    End-to-end local observability stack for CI/CD pipelines using Jenkins, OpenTelemetry Collector, Jaeger, Prometheus, and Grafana, with prebuilt dashboards, alerting rules, and a pipeline simulator …

    Python 2

  3. GSoC-2025 GSoC-2025 Public

    The final Report of my Google Summer of Code 2025 Journey

    3

  4. gsoc gsoc Public

    Forked from fossology/gsoc

    Updates and reports about GSoC projects at FOSSology.

    JavaScript

  5. web web Public

    My Portfolio Website

    Astro 2 4