What changed when Satori became local-first
What changed in Satori's indexing, storage, and source verification when code search began running locally by default.
Public engineering notebook / hamza.my.id
Full-stack engineer with frontend depth
I work across React and Angular interfaces, Node.js APIs, data storage, and automation, and I build browser extensions and developer tools. I use agentic coding with hands-on design, code review, and verification.
Open to full-time roles, contracts, and project work.
Tools and experiments I have built, with the decisions and limits behind them.
With Satori, a coding agent inspects symbol spans and index freshness over a local index before making an edit, rather than guessing from a search hit.
In PromptReady, webpage capture runs locally first to produce deterministic Markdown, preserving the offline result if an optional AI cleanup pass drops content.
When connecting AI clients to a workstation through WebHarness, an OAuth and capability boundary scopes Dev, Code, Terminal, and Local domains—and in QAP, strategies are tested against a passive baseline after costs where live capital remains blocked (`NO-GO`).
Notes on the problems I have worked through, the decisions I made, and what I learned.
What changed in Satori's indexing, storage, and source verification when code search began running locally by default.
Lessons from an X publishing experiment in keeping research, draft recommendations, approval, and measurement separate.
I built a numeric semantic transport for AI agents, then used Decoder and Doer failures to test what survives when ordinary language is removed from the wire.
How an older signal-led crypto pair CLI evolved into a deterministic research workbench where matched passive controls, realistic costs, and evidence can overrule the model.
Principles I return to, with notes on how I put them into practice.
A coding agent should read the source it is about to change, not guess from a search hit.
Read the note: Why semantic code search is not enough for coding agentsGiving an AI client a shell is easy. Deciding what it may touch is the actual design work.
Read the note: The hard part of giving ChatGPT a shell is the trust boundaryA person approves publishing by default and can grant limited permission for specific posts.
Read the note: Recommendation is not publication authoritySix years across tax software, collaboration tools, DeFi, and my own developer tooling.
Feb 2025 – Present
Freelance work, technical consulting & independent projects
Satori, WebHarness, PromptReady, and contract research on QAP.
Remote
Oct 2023 – Jan 2025
Project Lead Developer / Lead Frontend Developer
Led frontend for an HRM/CRM/PM suite and the WORKAI collaboration tool.
Remote, USA
May 2024 – Jan 2025
Project Lead, DeFi Frontend (Contract)
Swap and liquidity flows with explicit approval and recovery states.
Remote
Mar 2021 – Apr 2023
Frontend Web Developer
High-density tax filing forms and a 1,500-article migration pipeline.
Bangalore Urban, India
Sep 2020 – Feb 2021
Frontend Developer / UI Designer
Figma flows turned into responsive Angular interfaces.
Remote
Tell me what you are building and where you need help. Right now: building Satori and browser tools, and writing up what I learn. More on the now page.