If I do something manually twice and it has a shape to it, it should be an agent the third time.
Senior front-end engineer, 12 years in. React and TypeScript by trade. These days I spend most of my building energy on agents — the ones that quietly delete work nobody should be doing by hand.
Not chatbots. Not demos. Things that run, touch real systems, and produce output I'd have otherwise produced myself: driving a browser through real flows, keeping docs honest as the UI moves underneath them, translating and validating structured files, grinding through the tedious middle of a task while I look at the parts that actually need judgment.
Some of it is work. A lot of it is personal — the errands of being a developer and a person, automated one at a time. Most of it lives in private repos or on my own machine, so this profile is a poor map of what I actually do.
One focused pull request at a time, in whatever ecosystem the issue lives in — not just JS/TS. Bug fixes, missing or flaky tests, dev tooling and CI, and documentation that describes real behavior.
| Project | Area | Pull request |
|---|---|---|
| Vite | CSS chunk dependency mapping | vitejs/vite#23120 |
| Material UI | Drawer documentation clarity | mui/material-ui#48887 |
| Prettier | YAML formatting behavior | prettier/prettier#19758 |
| TheAlgorithms/Python | Butterworth filter validation | TheAlgorithms/Python#14979 |
How I ship one
Smallest credible change. The diff should be the size of the problem, not the size of my opinions about the codebase.
A test that fails before and passes after. If I can't write that test, I don't yet understand the bug.
A validation section listing commands I ran — not commands I assumed would pass. Anything I didn't run, I say I didn't run.
I learn agents by building progressively harder ones rather than reading about them. TypeScript for implementation, local models where they'll do, frontier models where they won't.
| Focus | Why it holds my attention |
|---|---|
| Context engineering | Most agent failures are context failures wearing a costume |
| Coding agents | How far the loop goes before a human has to step in |
| Autonomy and its guardrails | Scope gates, abort conditions, and validation you actually ran — an agent that reports success it didn't earn is worse than no agent |
| Debugging agents | Still meaningfully harder than debugging anything else we write |
Front-end for a real-time management console built on React and TypeScript — large data surfaces, a design system to keep honest, and performance budgets that actually bite.
Agent side Playwright Vercel AI SDK Ollama — local models where they'll do, frontier models where they won't
Something has been eating my contribution graph.
Happy to talk front-end architecture, agents, or open source.
Brand marks from Simple Icons (CC0-1.0) · contribution snake by Platane/snk (MIT) · activity graph by github-readme-activity-graph (MIT). Logos are trademarks of their respective owners.