I build secure backends and the platforms they run on.

Software engineer based in Rabat. I design systems end to end, from the API and the identity layer to the pipeline that ships them, in whatever stack the job needs.

Latest article What Contributing to Two Keycloak Projects Taught Me About Building Authentication Extensions
Dr Maroc architecture
docker, monitored with Grafanaclientsidentity and APIdataOIDCJWTSQLAngular portals4 apps, 1 Nx repoWebsiteNext.js, SSRKeycloakidentity, 2FASpring Boot APImodular monolithPostgreSQLrelational dataRediscache, standby

How a request flows through Dr Maroc, from the portals and the website to the data.

Hover or select a part to see what it does.

Selected work

Products I designed and shipped, from the first commit to production.

All projects
Jul 2024 – PresentCurrent

Dr Maroc

A healthcare SaaS live at drmaroc.com, grown from a single app into a platform: four Angular portals in one Nx monorepo, a modular Spring Boot backend, self-hosted Keycloak, shared contracts, and a delivery pipeline where GitHub is the source of truth.

  • Angular
  • Nx
  • Next.js
  • Spring Boot
  • Java
Read the case study: Dr Maroc
Aug 2026 – PresentCurrent

ngx-auth-client

A published npm package that exposes Angular authentication as signals instead of getters, ships Keycloak and HTTP adapters behind a provider-agnostic port, and keeps tokens out of localStorage entirely.

  • Angular
  • TypeScript
  • Keycloak
  • OpenID Connect
  • JWT
Read the case study: ngx-auth-client
Jul 2026 – PresentCurrent

ngx-api-client

A published npm package extracted from the same api.service.ts I had copied across four Angular projects — configurable versioning, RFC 9457 error normalization, retry with backoff, and zero UI dependencies.

  • Angular
  • TypeScript
  • RxJS
  • Open Source
  • npm
Read the case study: ngx-api-client

Open Source

Libraries I own, projects I maintain, and tools I contribute to.

All my pull requests
  • A typed, interceptor-driven HTTP layer for Angular — pluggable API versioning, RFC 9457 error normalization, and retry with backoff.

    16stars13merged PRs
  • A reactive authentication layer for Angular. Auth state as signals, a functional route guard, and feature code free of identity-provider imports.

    3stars12merged PRs
  • Keycloak authentication provider for two-factor authentication with a one-time code sent by email — SMTP, SendGrid, AWS SES, or Mailgun.

    290stars13merged PRs
  • Keycloak two-factor authenticator that delivers one-time codes over SMS, Telegram, WhatsApp, and Signal.

    6stars11merged PRs
  • A local HTTP proxy between your frontend and a remote API gateway — mock chosen endpoints with scenario-based responses, forward everything else.

    14stars5merged PRs

How I can help

I join teams or take on projects end to end.

All services
  • Full-Stack Development

    End-to-end web applications with modern frameworks and solid architecture

  • DevOps & Cloud Architecture

    Automated pipelines, containerization, and scalable cloud infrastructure

  • Technical Consulting

    Architecture reviews and strategic guidance for your engineering team

  • Maintenance & Support

    Ongoing technical support to keep your applications healthy and up to date

How a project runs

  1. 1

    Discovery

    Understanding your goals, requirements, and technical constraints

  2. 2

    Planning

    Creating a clear technical roadmap and architecture plan

  3. 3

    Development

    Building iteratively with clean, well-tested, maintainable code

  4. 4

    Delivery

    Testing, deploying to production, and post-launch support

Have a system to build or fix?

Tell me about the project, the team and the timeline, and I will get back to you.

Get in touch