Back to selected work

Hamid Azaz Portfolio

Treat trustworthy public information as a structured system, not a collection of pages.

Visit the live site
Role
Lead Full-Stack Engineer
Status
Live at hamidazaz.com
Technology context
Next.js · TypeScript · Supabase · PostgreSQL · Netlify

The problem

A public figure needs an official profile that remains accurate across languages and can be updated without depending on a developer for every change. The editing path also carries unusual security and attribution risk.

The response

I led the full-stack implementation of a public Profile and private Portal for positions, education, participations, events, articles, gallery content, and biographical information in synchronized Arabic and French.

Decisions that shaped the product

  1. 01

    Profile and Portal are different products

    Visitors receive a read-only, indexable public profile. The authenticated Editor receives a narrow publishing environment with explicit ownership and lifecycle rules.

  2. 02

    Languages publish together

    A content item cannot become public until required Arabic and French fields are complete. RTL-safe logical layout rules are enforced rather than reviewed by memory.

  3. 03

    Authentication follows the risk

    Editor provisioning, row-level access, passkey-oriented login, recovery boundaries, and server-only credentials are designed around the sensitivity of a political public profile.

Implemented evidence

  • Next.js public routes and a structured multilingual content Portal backed by Supabase and PostgreSQL.
  • Draft and published lifecycles, synchronized locale validation, images, previews, and public detail pages.
  • RTL document direction and logical CSS conventions protected by a custom lint rule.
  • Schema, authorization, component, localization, and production-build verification across the project.

Current limits

  • The public site is live at hamidazaz.com; this case study does not claim outcomes beyond deployment.
  • Hamid's identity, career, views, and achievements belong to the client and are not Amdjad's claims.
  • The product intentionally supports Arabic and French only; English was outside its approved scope.
When software represents a real person in public life, content modeling, translation completeness, access control, and absence behavior become questions of trust—not just implementation details.