Mask sensitive values in config files during screen sharing. Supports .env, JSON, YAML, TOML, XML, Terraform/HCL, Dockerfile, and more. Zero file modification - uses Neovim extmarks.
Ahmet ZeybekFull Stack Developer
Most of the interesting problems don’t belong to one layer. They show up somewhere between product logic, data, infrastructure, and whatever the system decides to do once real users arrive. That’s usually where I end up.
I’ve spent years moving between frontend, backend, databases, queues, delivery pipelines, and edge infrastructure. Some days it’s a new feature. Other days it’s following a strange production bug through half the stack, deleting a dependency, or replacing an abstraction that became harder to understand than the problem itself. Good software should be predictable, easy to debug, and not need a manual just to keep running.
A lot of things I’ve built started with the same thought: this shouldn’t be this hard. The answer is rarely another platform. Find the real constraint, keep the surface area small, make the trade-offs obvious, ship it.
This site is where I keep the work and ideas worth sharing. Notes from production, things I’m figuring out, and the occasional deep dive into a problem that wouldn’t leave me alone.
.activity
what i'm working on right now.
.listening
what I'm currently playing
.projects
things i build when something annoys me.
Camouflage is a VS Code extension that helps protect sensitive environment variables by hiding their values in .env files
PostgreSQL extension for reliable async message delivery (HTTP, Kafka, MQTT, Redis, AMQP, NATS) using the transactional outbox pattern.
Rust for TypeScript & JavaScript developers — a free, open-source guide that teaches Rust by mapping every concept to the TS/JS you already know.
Portable, open-source Agent Skills that give coding agents senior-engineering judgment to design, implement, review, and investigate software changes. Language- and framework-agnostic, with ready-to-install plugins for Claude Code and Codex.
A CLI tool to record, replay, and export terminal sessions
.posts
Recent 3 posts, worth a look.
The outbox pattern without a relay
The transactional outbox solves the dual write problem and then hands you a second one: a relay service that has to be deployed, watched and kept pointed at the right database. ulak moves the relay into PostgreSQL as background workers. This is how it claims, delivers and recovers, and the trade it asks you to accept in return.
Letting an agent touch production
We gave an agent access to production on-call in stages over five months: read only, then propose, then act on a short list, then act on a longer one. Each stage had a specific thing it had to prove before the next. The rules that came out of it are simple enough to fit on a page, and they are not the rules I would have guessed at the start.
The npm worm playbook for a small team
Three self-propagating npm campaigns in twelve months: the TanStack compromise in May, ChainDrop through keyv in August, 400 plus packages backdoored from one stolen token. You cannot audit your way out of this. Here is the set of controls that actually stops a worm at the door, with the config for each.