Skip to content
Ahmed Hamza Product engineer
  • Writing
  • Projects
  • About
  • Resume
  • Now
  • Contact

Writing archive Page 2

Older notes, retrospectives, and explanations from project work.

Topics

All writing 19 AI 5 MCP 5 Automation 4 Node.js 4 Satori 4 Promptready 3 Systems 3 Browser Extension 2 All topics

May 4, 2026 AI

Why AI cleanup should not be the extraction engine

How PromptReady changed AI cleanup from raw HTML rewriting into a quality-gated pass over a local Markdown baseline.

PromptreadyAIMarkdownQuality Gates

May 1, 2026 Project Retrospectives

Why semantic code search is not enough for coding agents

Notes on building Satori around deterministic MCP workflows, exact reads, stale-index warnings, and bounded retrieval contracts.

SatoriMCPAIRetrieval

Apr 30, 2026 Project Retrospectives

When index cleanup lies, agents make unsafe decisions

A practical note on debugging Satori's clear/reindex path by treating remote vector state as an explicit lifecycle contract.

SatoriDebuggingSystems

Apr 29, 2026 Project Retrospectives

Why MCP CLIs fail when stdout is treated like logs

Notes on turning Satori's shell CLI into a disciplined MCP wrapper with stdout safety, dynamic bootstrap, and deterministic exit behavior.

SatoriMCPNode.jsSystems

Apr 20, 2026 Career Notes

Why this portfolio is a public engineering notebook

A practical note on making hamza.my.id useful through project evidence, technical notes, and restrained design instead of generic portfolio polish.

Personal siteWritingProjects

Apr 18, 2026 Backend Notes

Why frontend-heavy engineers need backend contract discipline

Notes on moving deeper into backend work by treating APIs, validation, schema design, and failure states as product contracts.

Node.jsPostgreSQLBackend

Apr 15, 2026 Career Notes

Why "full-stack" is only useful when the product path is clear

A practical framing of moving from frontend depth into full-stack product engineering without pretending every layer has equal depth.

FrontendFull-stackEngineering

Apr 12, 2026 Automation

Why a 1500+ article migration needed a workflow, not just Puppeteer

Notes from turning a large WordPress migration into a resumable Node.js automation pipeline with logs, checkpoints, and browser boundaries.

PuppeteerNode.jsAutomation

Apr 10, 2026 Angular

Why state-heavy interfaces fail without named events

Practical lessons from Angular and NgRx on making product behavior visible through actions, reducers, selectors, and predictable UI states.

AngularNgRxState management

Newer notes

Page 2 of 2

Ahmed Hamza

Software engineer in Kolkata. I build web products and developer tools that show their work.

Site

  • Writing
  • Projects
  • About
  • Resume
  • Now

Elsewhere

  • GitHub
  • LinkedIn
  • Email
  • RSS

© 2026 Ahmed Hamza

Built with Astro. Set in Libre Baskerville, Geist, and IBM Plex Mono.