logo

Hey! I'm Hamed

A place for my random thoughts, ideas, and things I've learned along the way.

Latest Posts

Part 7 of the beginner's guide to ontologies — the concrete half of the frontend. A screen is a handful of hooks, and each hook is a read or write you already know: useObjects is part 3's fetchPage, useAction is part 5's optimistic action. The component kit by property type, where reads and writes meet, and bespoke vs config-driven clients.

Part 6 of the beginner's guide to ontologies — the frontend, at last. A frontend on an ontology is just the read and write models rendered. There are two apps: a Builder that edits the rulebook (definitions) and a Client that edits the data — and because properties are typed, the Client renders itself from the definition. One shared foundation, two apps, with a live demo.

Part 5 of the beginner's guide to ontologies. The write side, as a story: you never touch the database — you propose a named action, which is validated, checked against the rules, then committed to writeback and audited. Optimistic updates and rollback, all-or-nothing edits, and the ripples a write sets off.

All Posts

About Me

H

Hamed Farag

Lead AI Frontend Engineer / Frontend Architect

Hala! It's me, Hamed M. Alaa Farag.

I have been building software since 2010 — starting out in .NET for nearly 6 years before finding my real passion in frontend engineering in 2016. Over the last 15 years I have worked across the stack, and today I focus on the AI and agentic transformation of software development.

I am a Lead AI Frontend Engineer / Frontend Architect at WakeCap, where I lead frontend technology, build design systems and micro-frontend architecture, and ship AI-native tooling. My work spans MCP servers that expose our design system to coding agents, prototypes of agentic, ontology-driven UI systems, and autonomous developer tools like AFK, Claudeck, and Cortex — turning emerging AI capabilities into production engineering practice.

Fun fact about me, I am a color-blind person 😁.

I love sharing knowledge. This website is my space to share whatever random thoughts and ideas I come up with. Welcome!

const hamed = {
  pronouns: "he" | "him",
  code: ["TypeScript", "JavaScript", "HTML", "CSS", "SCSS"],
  tools: [
    "React",
    "Next.js",
    "Node",
    "Tailwind",
    "Storybook",
    "shadcn/ui",
    "Single-SPA",
    "Jest",
    "Docker",
  ],
  ai: [
    "LLM Integration",
    "MCP Servers",
    "Agent Orchestration",
    "Claude Code",
    "Cursor",
    "AI-Native Frontend Architecture",
  ],
  architectures: [
    "Component-Based",
    "Design Systems",
    "Micro-Frontend",
    "AI-Native / Agentic UI",
  ],
  locations: ["Riyadh", "Dubai", "Cairo"],
  hobbies: [
    { name: "Photography", url: "https://500px.com/p/hamedfarag" },
    {
      name: "Podcast",
      url: "https://open.spotify.com/show/3aiMMbfE8PMXFMK0QBvJTD",
    },
  ],
  website: "https://www.hamedfarag.dev/",
};