Ruo Lee — Notes
Design notes from an AI engineer. Not what was built, but why it was decided that way.
- Browser recording
I blamed iOS twice, and was wrong twice
A new user failed five times in a row, three minutes after signing up. I changed the container and the same person failed again.
- Timezone boundaries
Where is midnight
The server runs on UTC. The user’s day starts on KST. That mismatch showed up in six places wearing six different faces.
- Abuse response
I measured the abuse, then decided to do nothing
Multi-account farming looked likely. Measuring it put the damage at $0.27. Instead of a countermeasure, I removed a defence that already existed.
- Agent memory
Taking on 13,000 lines of someone else’s code
It could not be a dependency and it could not be a fork. I picked the third option, and the price was a set of rules with no exceptions.
- Dynamic execution engine
The deploy succeeded and the call returned 404
The console said deployed, the registration API returned 200, and the route really was registered. No request could reach it.
- Agent memory
The failures that never throw
The first conversation each morning came back with no preferences. There were no error logs. I found six defects of the same kind, and they had one thing in common.
- Agent memory
A threshold is measured, not chosen
Similarity 0.85. The work that went into not answering "it looked about right" when someone asks where the number came from.
- Agent memory
Examples beat instructions
Memories extracted from Korean conversations were being stored in English. No placement of the instruction helped, because the instruction was never the problem.