Skip to content
View mdhamed238's full-sized avatar

Highlights

  • Pro

Block or report mdhamed238

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.

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

Mohamed Hamed 👋

Building reliable software & contributing to open source

Full-Stack Software Engineer | Open Source Contributor @PMD · @Checkstyle · @WeasyPrint

Portfolio LinkedIn Email


About Me

Full-stack software engineer focused on backend systems, clean code, and open source developer tooling. Currently finishing a Master's in Software Engineering at Université Lyon 1, while working at LCL (Crédit Agricole group) on Java/Spring Boot microservices used daily by thousands of advisors.

I contribute to static analysis tools and HTML-to-PDF rendering engines — areas where I bridge my interest in language specifications and software reliability


🚀 Open Source Contributions

Passionate about developer tooling and code quality. Focused on static analysis and rendering engines used by millions of developers worldwide.

Project Focus Highlights
PMD Static Analysis Fixed Java parser edge cases for modern language constructs. Merged in v7.20.0 & v7.21.0.
Checkstyle Linting Fixed IndentationCheck bugs & improved violation messages (#19684, #18972).
WeasyPrint HTML→PDF Rendering Implemented language-aware CSS text-transform (TR, GR, LT, AZ). Merged in v68.0.

🔬 Featured Projects

MiniC-RiscV Toolchain — Compiler Construction
  • Built: Full compiler pipeline from scratch — lexer/parser (ANTLR4) → static type checker → interpreter → RISC-V assembly backend.
  • Validated: Automated test suite comparing interpreter output against gcc, including undefined behavior edge cases.
  • Stack: Python · ANTLR4 · RISC-V Assembly · Docker
  • Key learning: AST manipulation, static typing systems, and low-level code generation.

🔗 github.com/mdhamed238/MiniC-RV-Toolchain

PFAS Data Platform — Geospatial Analysis of Environmental Pollutants

Research project — Université Lyon 1 · LIRIS

  • Built: Pipeline to cross-reference PFAS chemical contamination data with French socio-demographic indicators (50,000 INSEE IRIS zones).
  • Enriched: 182 chemical substances via PubChem API (98.35% success rate), with geospatial indexing (GeoJSON) on 10,000+ records.
  • Stack: MongoDB · Flask · Leaflet.js · PyMongo

🔗 github.com/mdhamed238/pfas_project

Cloud Image Processing API — Async Image Transformation Service
  • Built: Stateless REST API with async processing, Redis caching to eliminate redundant computation, and scalable object storage on Cloudflare R2.
  • Stack: FastAPI · Redis · Docker · JWT · GitHub Actions

🔗 github.com/mdhamed238/cloud_image_api


🛠 Expertise

Core languages & frameworks Java (Spring Boot · Spring WebFlux) · Python (FastAPI) · TypeScript · Angular · React

Data PostgreSQL · MongoDB · Redis · MariaDB

Quality & Testing Clean Code · Design Patterns · PMD · Checkstyle · Cypress (E2E) · JUnit · Jest

DevOps & Cloud Docker · GitLab CI/CD · GitHub Actions · Amazon S3 · Cloudflare R2 · Linux


📊 GitHub Stats

GitHub Stats Top Languages

LinkedIn Portfolio

Pinned Loading

  1. checkstyle checkstyle Public

    Forked from checkstyle/checkstyle

    Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly co…

    Java

  2. mdhamed238 mdhamed238 Public

    Contains README configuration for my github profile

    2

  3. MiniC-RiscV-Toolchain MiniC-RiscV-Toolchain Public

    Python

  4. expo-notes-app expo-notes-app Public

    TypeScript 2

  5. Sewarli Sewarli Public

    TypeScript

  6. dvachette/peluchards-nuit-info-2k24 dvachette/peluchards-nuit-info-2k24 Public

    Nuit de l'info 2024

    TypeScript 1