User profile picture

Hamza Hassanain

@HamzaHassanain
💬 Here
  • HamzaHassanain
  • README.md

Hamza Hassanain

Software Engineer @ Repovive (YC F'26) · AWS Certified Solutions Architect · 3× ICPC ACPC Finalist

Cairo, Egypt · GitLab community contributor since Nov 2025

Website CV GitHub LinkedIn X Dev.to

GitLab Contributor Stats

I'm a backend engineer. At Repovive I joined as the first engineer and built the contest judge and core systems behind a platform with 10,000+ users. On GitLab I mostly work on the Go SDK, the Terraform provider, and the main GitLab codebase. I like Go, C++, and Ruby, and I contribute upstream to LLVM and Swift NIO too.


🦊 My GitLab contributions

25 merged MRs across 8 gitlab-org projects, and 12 open MRs in review right now.

Project Merged What I worked on
api/client-go 9 Typed group integration settings (Slack, Jira, Microsoft Teams, Mattermost, Harbor, Discord, Telegram, Matrix, Google Chat), MR dependencies by IID, WorkItem JSON tags, the always_on Duo value
gitlab 7 REST API to restore an organization, Snowplow tracker loading, Bitbucket Cloud wiki import cleanup, AI Gateway and dependency scanning docs, code quality fixes
terraform-provider-gitlab 3 New gitlab_group_integration_harbor and gitlab_group_integration_mattermost resources, group SAML identity
cli 2 glab artifact-registry login --yarn, a clear error when the keyring token is missing
container-registry 1 organization_id in token metadata and request logs
gitlab-shell 1 User identity in the logs when the discover API call fails
step-runner 1 Dot-separated prerelease versions for GitLab Functions
cells/http-router 1 Organization restore route in the routes snapshot

🔄 Open right now

MR What it does
client-go!3140 Move the merge request method comments to the service interface
client-go!3102 external option when creating and updating instance service accounts
client-go!3101 CancelAutoMerge, which returns the merge request or a clear error
terraform!3323 Wait for default branch protection only when GitLab will really add it
terraform!3322 GitLab Duo settings on the gitlab_group resource
cli!4063 Date filters for glab issue list
cli!4062 Use the config host as a preference, not a filter on remotes
cli!4060 Move the OAuth token merge from the config code to the OAuth code
gitlab!263028 Move the frontend tracker check to EventEligibilityChecker
gitlab!263027 Set SSL_CERT_FILE and nest the mTLS keys in the AI Gateway docs
gitlab!262447 Document the REST API endpoint to restore an organization
gitlab!261298 Add organization_id to container registry token metadata
All 25 merged MRs

gitlab-org/api/client-go

MR What it does
!3138 always_on value for group Duo availability
!3100 snake_case JSON tags on WorkItem, so glab work-items --output json has one key style
!3092 Create an MR dependency from the blocking MR's IID, also across projects
!2692 Slack integration: structs and GetGroupSlackSettings / SetGroupSlackSettings / DisableGroupSlack
!2679 Microsoft Teams structs and typed return, plus a fix for the microsoft-teams endpoint path
!2691 Discord, Telegram, Mattermost, Matrix, and Google Chat structs with GetGroup*Settings
!2677 Jira integration structs and a typed GetGroupJiraSettings return
!2675 Group Mattermost notifications and slash commands: structs and Get / Set / Delete
!2670 Harbor integration structs and a typed GetGroupHarborSettings return

gitlab-org/gitlab

MR What it does
!261302 Document Python dependency resolution known issues and their workarounds
!261303 Rewrite the AI Gateway custom root CA steps for the Helm charts and Docker
!261304 POST /api/v4/organizations/:id/restore to restore a soft-deleted organization
!261295 Remove the old Bitbucket Cloud wiki import code
!261296 Load the Snowplow tracker only when events can be sent
!221158 Fix vue/require-name-property offenses in the deployments components
!221163 Replace Gitlab::Json.parse with safe_parse in the discussions diff highlight cache

gitlab-org/terraform-provider-gitlab

MR What it does
!2881 New gitlab_group_integration_harbor resource with import and an acceptance test
!2909 New gitlab_group_integration_mattermost resource with an acceptance test
!2852 Group SAML identity attribute on the gitlab_group_membership data source

gitlab-org/cli

MR What it does
!4058 glab artifact-registry login --yarn, which writes the token to ~/.yarnrc.yml
!4061 Fail with a clear message when a host's keyring token is missing, not a bare 401

gitlab-org/container-registry

MR What it does
!2959 Read organization_id from token metadata and add it to the request logs

gitlab-org/gitlab-shell

MR What it does
!1597 Log the user name, key ID, or Kerberos principal when discover cannot get the username

gitlab-org/step-runner

MR What it does
!600 Accept dot-separated prerelease versions like 1.2.3-rc.1 in OCI versions

gitlab-org/cells/http-router

MR What it does
!1438 Add the organization restore route to the routes snapshot

I keep the agent setup I use for these contributions public: gitlab-agent-kit.


💼 What I do at Repovive

  • Led the design of the distributed judge (judge1, on Judge0) and scaled it from 50 to 500+ concurrent submissions.
  • Moved off serverless to Docker, Nginx, and Redis, and cut infra cost by 95% ($600 to $25 a month).
  • Sandboxed 20+ languages in resource-limited Docker images.
  • Co-built a real-time voice AI interviewer (LiveKit, WebRTC) for coding, recruiter, and behavioral interviews.
  • Co-built Repovive Build v2, an AI-assisted IDE for writing competitive programming problems.

🔩 Other open source

  • LLVM / Clang: constexpr X86 cvtpd2ps intrinsics (#169980), AArch64 and ARM CLS lowering to ISD::CTLS (#178885, #178430), LLDB SBTarget tests (#173473)
  • Apple Swift NIO: idempotent directory creation in NIOFileSystem (#3410)
  • Polyman: my CLI for Codeforces Polygon problem setters, 1,900+ npm downloads

🏆 Competitive programming

  • ICPC ACPC Finalist 3 times (2024, 2025, 2026), and 17th of about 500 teams at ECPC 2024
  • Problem author: G. Queries On Strings (JCPC 2025), F. Graph Tiling (Repovive Round 3)
  • Codeforces: GreatShinobiOwl (Candidate Master, max 2017) and Hmzaawy

🧰 Tech

Go Ruby C++ TypeScript Node.js Terraform AWS Docker Redis PostgreSQL MongoDB

Personal projects

View all
Loading

About

Pronouns: He/Him

SWE @Repovive (YC F'26) | AWS Certified Solutions Architect | 3× ICPC ACPC Finalist | GitLab & LLVM contributor

Info

Software Engineer at Repovive
Egypt
4:33 PM
Member since October 05, 2025

Contact

hamzahassanain067@gmail.com
hamza-hassanain-ha067
HamzaHassanain0
1021325673199063070
HamzaHassanain