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.
Older notes, retrospectives, and explanations from project work.
How PromptReady changed AI cleanup from raw HTML rewriting into a quality-gated pass over a local Markdown baseline.
Notes on building Satori around deterministic MCP workflows, exact reads, stale-index warnings, and bounded retrieval contracts.
A practical note on debugging Satori's clear/reindex path by treating remote vector state as an explicit lifecycle contract.
Notes on turning Satori's shell CLI into a disciplined MCP wrapper with stdout safety, dynamic bootstrap, and deterministic exit behavior.
A practical note on making hamza.my.id useful through project evidence, technical notes, and restrained design instead of generic portfolio polish.
Notes on moving deeper into backend work by treating APIs, validation, schema design, and failure states as product contracts.
A practical framing of moving from frontend depth into full-stack product engineering without pretending every layer has equal depth.
Notes from turning a large WordPress migration into a resumable Node.js automation pipeline with logs, checkpoints, and browser boundaries.
Practical lessons from Angular and NgRx on making product behavior visible through actions, reducers, selectors, and predictable UI states.