Skip to content
View syahra712's full-sized avatar

Highlights

  • Pro

Block or report syahra712

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
syahra712/README.md
Syed Ahnaf Raza — AI Engineer and open-source contributor

Portfolio LinkedIn All upstream pull requests

I build RAG systems, LLM agents and data pipelines, and I fix bugs in the open-source projects they're built on. When something breaks in a library I depend on, I read the source, reproduce the bug and send the fix upstream.

Right now

  • 🔧 Contributing across the LLM-agent stack, with PRs open in litellm, crewAI, dspy, smolagents, mem0 and markitdown
  • 🔤 Building urdukit, NLP tooling for Urdu, a language that 230M people speak and few libraries support
  • 💼 PMO @ VentureDive · Software Engineering @ Bahria University

🔧 Merged upstream

Latest merge: Accept NumPy integers when indexing Grid, OneDGrid and PeriodicGrid in theochem/grid · 2026-11-03

Project ⭐ Area What I fixed
docling-project/docling 70k document AI · VLMs Coerce MLX bfloat16 logprobs to float in VlmPredictionToken
BerriAI/litellm 63k LLM gateway · billing Don't retire a completed batch from cost recovery while output_file_id is lagging
nltk/nltk 15k machine learning Fix bare raise outside except block in sem.util.root_semrep
Fix NameError in UndirectedTypeRaise.can_combine
sshuttle/sshuttle 14k networking · firewalls pf exclusions ignored under a wider include since rules became quick
Skip hostwatch when the server has no os.fork
Keep the tunnel up when a DNS or UDP reply cannot be sent
Drop the zone id of a link-local nameserver from nft rules
biopython/biopython 5.3k bioinformatics Fix unformatted placeholder in double complement error message
tox-dev/tox 4k Python test tooling Keep the packaging backend captured with --no-capture
Keep --no-index when an index URL follows it
pyro-ppl/numpyro 2.8k bayesian inference Parse JAX_ENABLE_X64 as a boolean string in enable_x64
aboutcode-org/scancode-toolkit 2.7k license compliance Cap pluggy below 1.7.0
neuropsychology/NeuroKit 2.4k biosignals Hrv_rsa(): compute RSA_PorgesBohrer on heart period, not heart rate
Signal_formatpeaks(): drop every nan index together with its value
ceph/ceph-ansible 1.8k ansible Ceph_pool: fix arguments passed to list_pools()
pybamm-team/PyBaMM 1.7k batteries Fix kinetics __all__ listing inverse kinetics submodules
fossasia/voxbento 1.5k web API · access control Scope admin transcript routes to the requested event
fossasia/veditor 1.5k Show app INFO logs so the dev verification link is visible
mpmath/mpmath 1.2k arbitrary precision Flip rounding direction when negating in mpf_gamma(type=3) (fixes iv.loggamma)
Respect directed rounding in mpf_atan2() (fixes iv.atan2 enclosures)
Call lower_gamma() directly in the _gamma3() fallback (fixes #467)
pytroll/satpy 1.2k closember Fix debug log message for repeated record classes in eps_l1b reader
apache/iceberg-python 1.2k apache Preserve null maps when projecting a map of structs
SciTools/iris 730 data analysis Show the offending object in CubeList non-cube error
pymc-devs/pytensor 649 ai Index 0-d MakeVector inputs instead of calling .item() in numba
mozilla/bugbug 576 agentic ai Keep full comment text when rendering Phabricator revisions
GoogleCloudPlatform/professional-services-data-validator 535 Convert Impala connection options given as strings to their real types
Use UTF-8 for stdout so non-ASCII results can be printed on Windows
Do not split --filters on PostgreSQL style :: type casts
readthedocs/sphinx-autoapi 497 Fix recursion when a nested class inherits from its enclosing class
Fix method signatures when self is positional-only or absent
fortran-lang/fortls 348 fortls Handle mixed quotes in find_paren_match
wradlib/wradlib 323 hacktoberfest Show filename in read_gamic_hdf5 error for non-GAMIC files
gammapy/gammapy 294 astronomy Fix missing f-prefix in two error messages
openSUSE/opi 289 cli Fetch file:// and $releasever gpgkeys correctly when asking to keep a key
scikit-hep/uproot5 274 analysis Handle negative and out-of-range indexes in TAxis.getitem
StingraySoftware/stingray 227 astronomy Fix gti all entry and accept list GTIs in get_btis
getmail6/getmail6 170 #277: malformed POP3 UIDL/LIST aborts only the affected account
#281: clear IMAP mailbox state when EXPUNGE fails in close_mailbox
scikit-hep/hist 140 histogram Raise for missing exact names in wildcard category lists
Accept NumPy integer arrays in from_columns
openfoodfacts/open-prices 110 crowdsourcing API: accept location_id when updating a proof
theochem/grid 102 clenshaw curtis Return an empty LocalGrid when no point is within the radius
Accept NumPy integers when indexing Grid, OneDGrid and PeriodicGrid
pypa/distlib 66 Python packaging Use the Python-2.0.1 SPDX license identifier
ga4gh/vrs-python 65 bioinformatics Reject trailing input in beacon, gnomAD and SPDI translators
sugarlabs/www-v2 62 hacktoberfest Redirect /music-blocks to /musicblocks
scipy/xsf 43 Smirnovp: avoid int overflow in derivative coefficient for large n
pyccel/sympde 25 finite elements Keep the physical dimension of mappings in Domain.export / Domain.from_file
arviz-devs/arviz-stats 18 Stabilize stacking weights against overflow in exp of pointwise ELPD
Fit the left Pareto tail correctly for unsigned integer draws
SciTools/ncdata 16 Replace deprecated licence config in pyproject.toml
konflux-ci/rpm-lockfile-prototype 16 Handle registry port numbers in image specs
Add --tls-verify option for skopeo calls
fossology/fossology-python 15 automation Don't send "None" as the folder description
plone/plone.event 5 Pass re.MULTILINE to re.sub as flags, not as count
apache/solr-orbit 3 apache Build the Docker image on Python 3.13, inside requires-python
Page through collections with SolrClient.search in create-workload
Restore metrics.metrics_store_class so solr-orbit stop works again
Create ClusterEnvironmentInfo so --telemetry cluster-environment-info works
Add a make licenses target that generates THIRD_PARTY.md
🕐 In review: 84 PRs across 70 projects, including markitdown, mem0, litellm, crewAI, agno, dspy, smolagents…
Project ⭐ Fix
microsoft/markitdown 194k Refactor ImageConverter to reuse llm_caption helper
mem0ai/mem0 68k Dispatch add_embeddings on actual signature
BerriAI/litellm 63k Route GPT-5.4+ function-tool calls through the Responses API
crewAIInc/crewAI 60k Opt-in deferred tool loading via Responses tool search
agno-agi/agno 43k Chain exception causes in tool, model, and vectordb error paths
stanfordnlp/dspy 39k Add sort_keys=True to tool call/result JSON serialization
huggingface/smolagents 30k Accept AgentImage/AgentAudio state values for image/audio tool inputs
ArduPilot/ardupilot 16k Tools: param_unpack.py: support param.pck files with defaults
pyro-ppl/pyro 9.1k Restore deep_getattr in pyro.infer.autoguide.utils
arrow-py/arrow 9.1k Use calendar months for humanize month and quarter granularity
marshmallow-code/marshmallow 7.2k Reject leading/trailing hyphen in the last domain label in validate.Email
python-pendulum/pendulum 6.7k Fix precise_diff counting partial months as full months

See every open PR →

This section updates itself every 6 hours from the GitHub API. See scripts/update.py.


🚀 Things I've built

A zero-dependency Urdu NLP toolkit for normalization, tokenization, stopwords, stemming and Roman-Urdu transliteration. pip install and go: no TensorFlow and no model downloads.

Python NLP low-resource languages

A two-sided agentic booking platform for Pakistan's informal economy. A 6-agent Google ADK pipeline on Gemini connects customers with home-service providers in Urdu, Roman-Urdu and English.

multi-agent Flutter FastAPI React

A research agent that goes beyond plain RAG: it combines embedding similarity with co-citation and bibliographic coupling for literature search, gap analysis, plagiarism detection and citation formatting.

RAG citation graphs LLM agents

An end-to-end MLOps pipeline. Scheduled ingestion feeds a Hopsworks feature store, models retrain automatically, and a live dashboard shows the forecasts, all running on GitHub Actions.

MLOps feature store time series

Find the ink you can't see. It detects and cleans invisible Unicode, homoglyphs and container metadata, and decides for each occurrence whether the character is a hidden mark or real content.

Python text security zero-dep

A living family tree for Urdu-speaking elders with memory loss. It's an offline-first Flutter app built for reminiscence and simulated-presence therapy.

Flutter Dart health

More: BridgeSign (real-time ASL recognition) · EcoViz (emissions dashboards and model benchmark) · TumorVision (MRI classification with Grad-CAM) · AES-RSA (hybrid encryption service)


🎖️ Experience & credentials

💼 Experience PMO @ VentureDive · Technical APM @ CodeAvenue · RAG / LLM systems @ Sybrid · ML pipelines @ 10Pearls
🏆 Awards Regional Winner, National Agentic AI Hackathon
📜 Certs Oracle Generative AI Professional · Stanford ML Specialization · Microsoft PL-300 · Google Project Management
🌱 Leadership Hult Prize Campus Director · VP, Bahria University Development Society

🛠️ Stack

AI / ML PyTorch · TensorFlow · Hugging Face · LangChain · Google ADK · spaCy · RAG · LLM agents
Languages Python · TypeScript · JavaScript · Dart · SQL
Build & ship FastAPI · React · Next.js · Flutter · Docker · MongoDB · GitHub Actions · n8n

Open to AI/ML engineering and applied AI project management roles · If you maintain a Python project and have a gnarly bug, I'd like to hear about it.

Pinned Loading

  1. DataVisualzationEcoViz DataVisualzationEcoViz Public

    EcoViz — emissions dashboards plus a stacked regression benchmark across 8 model families on CO2 and methane data

    Python 1 1

  2. AIProject-BridgeSign AIProject-BridgeSign Public

    Real-time American Sign Language recognition — MediaPipe hand landmarks, 38-class classifier, spell-correction and text-to-speech

    Python

  3. Graph-Augmented-Intelligent-Research-Agent Graph-Augmented-Intelligent-Research-Agent Public

    Research agent fusing semantic similarity with co-citation and bibliographic coupling — search, gap analysis, plagiarism detection, and citation formatting

    Python

  4. Named-Entity-Recognition-NER-for-Documents Named-Entity-Recognition-NER-for-Documents Public

    Named entity recognition over documents using spaCy and BERT transformers, with a comparison of rule-based and neural approaches

    JavaScript

  5. RAGCHATBOT RAGCHATBOT Public

    Wikipedia-grounded retrieval-augmented chatbot built with Streamlit and Google Gemini

    Python