De Stijl Technology Network
Feb 2025 - presentFull-stack Engineer (contract), remote. 80% backend, 20% frontend. Tech stack: AWS, DynamoDB, NodeJS, React Native.
Hello World
I build full-stack products with TypeScript, moving between product ideas, backend systems, data models, and frontend interfaces.
I'm especially interested in async architecture on the backend, and lately I've also been exploring AI agents and agent memory systems. I have a soft spot for UI that feels lively, clear, and easy to use.
Experience
Full-stack Engineer (contract), remote. 80% backend, 20% frontend. Tech stack: AWS, DynamoDB, NodeJS, React Native.
Career break — personal goal pursuit.
Full-stack Software Engineer at Eventx.io, a Hong Kong SASS company. Tech stack: TypeScript, PostgresDB, NodeJS, ReactJS, TypeORM, KOA, BullMQ.
Senior Software Engineer at EPAM, a US publicly traded company consulting for Fortune 1000. Tech stack: ReactJS, NodeJS, Typescript, GraphQL.
Software Engineer at EPAM, a US publicly traded company consulting for Fortune 1000. Tech stack: ReactJS, NodeJS, Typescript, GraphQL.
Software Engineer at a local startup. Developed and maintained the client-facing Nuxt.js project and an internal workflow platform; unified the separate mobile & desktop Nuxt.js projects into one for better maintainability. Tech stack: Vue, Nuxt, Node, Express, Webpack, MongoDB.
Decided to pursue programming as a career by learning full-time!
Worked in marketing for a consumer tech company. I was quite interested in consumer electronics at that time. Meanwhile learning to code as a hobby.
Graduated with a college degree, but didn't figure out what I want to do. I guess traditional education and me failed each other.
Recent Writing
Starting from NanoClaw: making agent-workspace the agent's home, taking it off my machine with opencode serve, layering memory across notes / user.md / todos.md, and the two automatic-memory approaches I tried before settling on one.
Starting from a Gmail Bridge triggered Claude Code SDK session, this note breaks down how a few visible turns produced 44 model calls, 5.84M cumulative usage tokens, and a depleted 5-hour limit.
Starting from a single line in AGENTS.md, here's how my always-on personal agent layers memory and context: a tiny always-loaded core, progressive disclosure, and skill routing — so I can finish a task, close the session, and start a fresh one without a second thought.
An engineering postmortem on building, tightening, and ultimately disabling long-term memory in my OpenCode agent.