Skip to content
View LubabaKhalid's full-sized avatar
:octocat:
Focused
:octocat:
Focused

Block or report LubabaKhalid

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. 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
LubabaKhalid/README.md

Hi, I'm Lubaba Khalid 👋

Software Engineer | Backend & AI | Open-Source Contributor

I'm a Data Science graduate interested in backend engineering, AI/ML, and building reliable software. I enjoy solving problems, improving existing codebases, writing tests, and contributing to open-source projects.

💻 Technical Skills

  • Languages: Python, C++, Java, JavaScript, TypeScript, PHP, Rust
  • Backend & APIs: FastAPI, REST APIs, microservices, gRPC
  • Databases: PostgreSQL, SQL, DuckDB, Firebase
  • AI/ML: Machine Learning, RAG, LLM applications, embeddings, AI agents
  • Frontend: React, TypeScript, Vue
  • DevOps & Systems: Docker, Linux, Git, GitHub Actions, CI/CD
  • Testing & Code Quality: pytest, GoogleTest, regression testing, static analysis
  • Protocols & Integration: MCP, A2A, WebAssembly (WASM)

🚀 Current Work & Interests

  • 🔵 Contributing to Canonical and Ubuntu projects
  • 🔵 Working on Docling and document-processing pipelines
  • 🔵 Contributing to projects across IBM, Google, and other open-source communities
  • 🔵 Working with SoftTrack
  • 🤖 Building Notescape, an AI-powered learning workspace
  • 🐧 Exploring Linux, containers, distributed systems, and systems programming

🌱 Open-Source Contributions

46 merged and 49 open pull requests across 18 upstream projects I don't own. Each count links to the full list on GitHub.

Project Stars Merged Open Latest PRs
docling
docling-project · Document parsing for gen AI
stars 8 4 • docs: document installing docling-slim without RapidOCR
• fix(jats): convert the content of sub-articles
• fix(md): keep a heading or list item without text from taking a later b…
and 5 more
guava
google · Google core libraries for Java
stars 2 2 • Treat leading and trailing $ in a class name as part of a top-level c… via Copybara
• Document that SimpleStatsCounter.snapshot() may be inconsistent with… via Copybara
styleguide
google · Google style guides
stars 8 5 • js: add an example for annotating empty collections
• js: add a template literal example for long strings
• js: add an example for the destructuring tip
and 5 more
OpenMetadata
open-metadata · Metadata platform for data and AI
stars 2 3 • Fixes 35685: Build the profiler ORM for tables with nested array columns
• Fixes 34856: Parse run_pipeline trigger response as PipelineServiceClie…
multipass
canonical · Ubuntu VMs on demand
stars 1 4 • fix(hcs): enable Hyper-V time synchronization
lxd
canonical · System container and VM manager
stars 13 3 • snap: Fix parsing of MicroCeph/MicroOVN units for shutdown ordering
• Network: Report clear error for stale mutual peering
• Resources: Report ethtool link modes above 100G
and 10 more
foundations
cloudflare · Rust service foundations library
stars 2 1 • fix(telemetry): accept memory profiler settings on all platforms
• feat(telemetry): expose a check for collisions with built-in server rou…
docling-pipelines
docling-project · Scalable ingestion pipelines
stars 9 2 • fix(extract): fail Docling Serve v2 extraction without primary content
• feat(storage): share one PostgreSQL engine per connection configuration
• feat(ingest): support file events in the OneDrive ingest provider
and 6 more
ubuntu-lint
ubuntu · Ubuntu packaging linter
stars 1 — • dput: support source format 1.0 packages
react
react · Library for web and native UIs
stars — 2 • [DevTools] Stop polling the backend manager from the content script open
• [DevTools] Release host instances deleted from a still-mounted component open
grpc
grpc · RPC framework
stars — 4 • [Bazel][Python] Fail early when a .proto path contains '-' open
• [Python] Implement the List RPC in the health checking servicers open
• [Python Otel] Do not hold the census buffer mutex while exporting data open
and 1 more
googletest
google · C++ testing framework
stars — 1 • Fix Visual Studio header files for gtest open
qwen-code
QwenLM · AI coding agent for the terminal
stars — 3 • fix(core): fall back on a 429 that carries an unrecognized provider code open
• fix(cli): accept a server name in qwen mcp reconnect open
• chore(deps): update vulnerable dependencies open
mcp-context-forge
IBM · MCP gateway and registry
stars — 3 • feat(catalog): add Parlor.sh MCP server open
• fix(a2a): normalize file parts between protocol versions open
• fix(a2a): use hyphenated v0.3 task states open
cloud-init
canonical · Cloud instance initialization
stars — 2 • fix(netplan): do not enable DHCPv6 for ipv6_slaac subnets open
• feat(nocloud): support platform variables in seed URLs open
snapcraft
canonical · Snap package build tool
stars — 1 • feat: add snapd-info project key open
domjudge
DOMjudge · Programming contest jury system
stars — 3 • Don't let the browser restore jury toggle state on reload open
• Fix double counting of open-to-all contests on jury teams page open
• fix(resolver): log delete event when disabling team open
docling-core
docling-project · Docling document model and serializers
stars — 6 • fix(file): let a proxy resolve the hostnames of proxied URL sources whe… open
• fix(doc): drop references to cascade-deleted items and comments in dele… open
• fix(html): nest a sub-list parented by the list group inside a list item open
and 3 more

🔎 Spotlight: html-to-markdown (Xberg.io)

Rust-based HTML → Markdown converter with WebAssembly bindings. My work was reviewed by the project maintainer and code owner, then landed through follow-up PRs with my commits and authorship preserved.

  • #720 — Preserve block separation in table cells · fixes #692
    Block-level elements inside table cells no longer join the surrounding text. Added <center>, <dialog>, <hgroup> and <search> as block-level elements, with regression tests for the Tier 1 and Tier 2 converters and different table configurations. Integrated through #733.
  • #721 — Preserve WASM visitor handle ownership · fixes #517
    Assigning a WasmVisitorHandle no longer consumes the JavaScript handle, so it can be reused. Updated the Alef-generated bindings and added regression tests for visitor reuse and clearVisitor(). Split into #726 (Alef upgrade and regenerated bindings) and #727 (tests and WASM coverage).
  • #652 — Preserve blockquotes in task items
    Initial fix and regression tests for a blockquote at the start of a task item being rendered on the checkbox line. The underlying bug was fixed on the integration branch by another PR; the maintainer kept my tests with me as commit author, and they reached main through #581.
  • #701 / #703 — Keep a <br> on its own line as a hard break
    Original fix for a <br> on its own source line becoming a paragraph break, plus regression tests for block elements, comments, whitespace, inline wrappers and newline styles. Carried forward into #717, where the maintainer extended it to the fast converter and more edge cases; merged with my authorship preserved.

Technologies: Rust · WebAssembly · HTML/Markdown conversion · Automated testing

🛠️ Technologies Used

  • Languages: Python, Rust, C++, JavaScript, TypeScript, PHP
  • Backend & Databases: FastAPI, PostgreSQL, SQL, DuckDB
  • Testing & Quality: pytest, GoogleTest, Ruff, regression testing, coverage enforcement
  • AI & Document Processing: Docling, entity extraction, document parsing, RAG
  • Protocols & Integration: gRPC, AsyncIO, MCP, A2A, WebAssembly
  • DevOps & Systems: Docker, Linux, Git, GitHub Actions, Multipass, Hyper-V, cloud-init, Snapcraft
  • Performance & Security: Lazy imports, logging optimization, dependency updates, large-graph performance

🛠️ Featured Project

Notescape — AI-Powered Learning Workspace

An AI learning platform designed to help learners understand study material, identify weak topics, and plan revision.

  • 📚 Document ingestion with OCR and support for multiple file formats
  • 🧠 Retrieval-Augmented Generation (RAG), embeddings, and LLM-powered assistance
  • 📝 Flashcards, quizzes and spaced repetition
  • ⚙️ Stack: React, TypeScript, FastAPI, PostgreSQL, pgvector, Redis, Docker

🧩 Problem Solving & Community

  • Competitive programming and algorithmic problem solving
  • Codeforces and LeetCode practice
  • Experience as a teaching assistant and competitive-programming mentor

📊 GitHub Activity

  • 100+ contributions in the last year (previously tracked; see GitHub for the current count)
  • Open-source contributions to Canonical, Docling, Google, Cloudflare, OpenMetadata and more
  • Contributions spanning backend development, testing, performance, AI, and systems engineering

📫 Connect With Me


Always learning, building, and contributing to open source. 🚀

Popular repositories Loading

  1. Semester07 Semester07 Public

    Jupyter Notebook 3

  2. cpp_data_structure_libraries cpp_data_structure_libraries Public

    C++ 1

  3. codeforces codeforces Public

    Python 1

  4. Computer-Organization-and-Assembly-Language Computer-Organization-and-Assembly-Language Public

    Assembly 1

  5. full-stack-java-development full-stack-java-development Public

    1

  6. grpc grpc Public

    Forked from grpc/grpc

    C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

    C++ 1