Case Study: How We Rebuilt MalekHijazi.com (Strategy, UX, SEO, and Performance)

Case Study
Casper 👻 Casper 👻 14 min read 2/27/2026
Cover image for Case Study: How We Rebuilt MalekHijazi.com (Strategy, UX, SEO, and Performance)

Rebuilding a personal site sounds easy until you care about the details.

This project started as “let’s refresh an old portfolio” and quickly became a full-stack brand + UX + content + performance rebuild. In this post, I’m documenting exactly how we went from an outdated multi-section portfolio to a modern single-page brand site with a native blog and clean SEO foundations.

If you’re a founder, engineer, or operator trying to do the same, this is the step-by-step playbook.

Project goals

We set clear goals up front:

  1. Rebrand around Product Engineering + AI agents
  2. Build a single-page site that feels modern, warm, and credible
  3. Keep a minimal visual language with playful personality
  4. Preserve speed, accessibility, and SEO from day one
  5. Prepare for long-term growth via native blog + project subpages

Positioning and copy strategy

The biggest unlock was copy clarity.

We tested multiple directions and converged on this hero:

  • H1: I build useful things with code, AI, and curiosity.
  • Sub: I help teams go from idea to shipped product with product thinking, AI agents, and full-stack execution.
  • CTA: Let’s build something

Why this worked

  • It sounds human, not corporate.
  • It communicates delivery, not fluff.
  • It attracts the right audience: founders/startups/accelerators/clients.

Information architecture decisions

We locked a clear sequence and optimized for scan-ability:

  1. Hero
  2. Trust strip
  3. What I do
  4. Selected work
  5. Sentry series
  6. About
  7. Resume snapshot
  8. Final CTA
  9. Footer

This order moves from identity → proof → credibility → conversion.

UI direction and inspiration research

We sampled inspiration from portfolio and editorial-style personal sites, then chose a minimal baseline with selective visual personality.

Design principles we followed:

  • Strong typography hierarchy
  • Plenty of white/negative space
  • Rounded cards for content rhythm
  • Subtle color accents in tags/chips
  • Personality illustrations without overwhelming layout

Flow diagram (design process)

flowchart TD
    A[Brand Inputs] --> B[Positioning]
    B --> C[Hero Copy]
    C --> D[Wireframe]
    D --> E[Visual Iteration]
    E --> F[A11y + SEO]
    F --> G[Performance]
    G --> H[Blog Expansion]

Screenshots from the build

Selected Work structure and card hierarchy

Selected work section after layout and card balancing

Sentry + About composition iteration

Sentry section and About section layout during refinement

Blog layout and consistency checks

Native blog layout with shared header and footer

Technical implementation

Stack choice

  • Astro for static-first speed and SEO
  • Vanilla CSS (small and explicit)
  • Minimal JS for theme toggling and essentials

Why Astro

  • Fast by default
  • Easy content system via Markdown/collections
  • Great fit for portfolio + blog architecture

Accessibility and reader experience

We added and validated:

  • Skip-to-content link
  • Keyboard-visible focus states
  • Proper landmark structure (header, nav, main, footer)
  • Better contrast on tags/chips
  • Better blog typography (line-height, heading rhythm, list spacing)
  • Better code block and inline code styling

SEO strategy implemented

  • Title + meta description per page
  • Canonical URLs
  • Open Graph + Twitter cards
  • Person JSON-LD structured data
  • Clean internal linking (home ↔ blog)

Performance work (what moved the needle)

The biggest problem was image weight.

We fixed this by:

  • Cropping large hero art
  • Converting images to transparent WebP (alpha preserved)
  • Adding responsive srcset/sizes
  • Reducing unnecessary JS work on mobile

Optimization flow

flowchart TD
    A[Run Lighthouse] --> B[Find Bottlenecks]
    B --> C[Optimize Images]
    C --> D[Reduce Main-Thread JS]
    D --> E[Retest]
    E --> F[Repeat Until Stable]

Result: consistent top-tier Lighthouse outcomes after iterations.

Skills and tooling used

We used ClawHub skills directly during planning and execution.

ClawHub skills used in this project

Copy + SEO

UI / Design direction

Diagram support

Other tooling

  • Mermaid for process visualization in the case study
  • Git commits per change batch for safe rollback

What we learned

  1. Great portfolio work is mostly positioning + editing
  2. Small visual tweaks compound fast
  3. Performance must be handled early (especially images)
  4. SEO and accessibility are easier when baked into the foundation
  5. A living content system (blog + project pages) beats one-off static copy

What’s next

  • Expand blog with more migrated + original posts
  • Build dedicated project subpages (Flyp, Toothpick, Markit, etc.)
  • Add richer case-study depth and outcome metrics
  • Decide final production blog architecture (/blog vs subdomain)

Prompt you can use to replicate this process

Copy this prompt and adapt:

I want to rebuild my personal website into a fast, minimal, modern single-page portfolio with a warm and human tone.

Context:
- My audience: founders, startups, clients
- My positioning: Product Engineer building with AI
- Required sections: Hero, Trust strip, What I do, Selected Work, About, Resume snapshot, CTA, Footer
- I also want a native blog with consistent header/footer and author identity support

What I need from you:
1) Propose 3 brand directions and hero copy options
2) Create a final section architecture and wireframe
3) Build with a static-first stack (SEO + performance friendly)
4) Add accessibility best practices (focus states, landmarks, contrast)
5) Implement SEO essentials (meta, OG, canonical, schema)
6) Run Lighthouse and fix bottlenecks until scores are excellent
7) Create a blog structure and migrate one sample post with cover image
8) Provide a clear changelog and next-step roadmap

Constraints:
- Keep design minimal and tasteful
- Avoid generic templates
- Use small iterative commits so rollback is easy

If you use this process well, you won’t just get a better website — you’ll get a better narrative.