<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Victor Stein — Field notes from the stack</title><description>Alfonso — a.k.a. Victor Stein — full-stack TypeScript engineer in Nicaragua building NestJS + GraphQL backends, React/Next frontends, and the CLIs &amp; TUIs in between.</description><link>https://victor-stein.dev/</link><language>en-us</language><item><title>I&apos;d become a single point of failure</title><link>https://victor-stein.dev/blog/migration-status-board/</link><guid isPermaLink="true">https://victor-stein.dev/blog/migration-status-board/</guid><description>A cross-market migration ran on me running curl by hand into a spreadsheet. So I built a Cloudflare Worker board to delete myself from the loop.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><category>cloudflare-workers</category><category>d1</category><category>monitoring</category><category>migration</category><category>typescript</category><author>Victor Stein</author></item><item><title>My wrist hurt, so I learned to type all over again</title><link>https://victor-stein.dev/blog/corne-to-voyager/</link><guid isPermaLink="true">https://victor-stein.dev/blog/corne-to-voyager/</guid><description>Wrist pain pushed me into ergo keyboards — a DIY Corne, weeks of monkeytype, home-row mods I had to engineer, and finally a Voyager I hand-rolled in QMK.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>ergonomics</category><category>corne</category><category>zmk</category><category>qmk</category><category>home-row-mods</category><author>Victor Stein</author></item><item><title>I kept dropping tasks as a tech lead, so I built a TUI</title><link>https://victor-stein.dev/blog/building-tawtui/</link><guid isPermaLink="true">https://victor-stein.dev/blog/building-tawtui/</guid><description>How I built tawtui — an OpenTUI + Solid terminal app that runs my tech-lead workflow and embeds agent-driven PR review as a terminal inside the terminal.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><category>terminal</category><category>opentui</category><category>solidjs</category><category>typescript</category><category>tui</category><category>nestjs</category><author>Victor Stein</author></item><item><title>A cheap friend wanted my Plex, so I wrote OpenTofu</title><link>https://victor-stein.dev/blog/homelab-opentofu/</link><guid isPermaLink="true">https://victor-stein.dev/blog/homelab-opentofu/</guid><description>One Tailscale ACL to lend a friend my Plex — safely. Then I codified my GitHub and Cloudflare too, until my whole control plane ran on OpenTofu.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate><category>infra</category><category>opentofu</category><category>tailscale</category><category>iac</category><category>github-actions</category><author>Victor Stein</author></item><item><title>I kept postponing a new Mac to dodge the migration</title><link>https://victor-stein.dev/blog/seed-bootstrap/</link><guid isPermaLink="true">https://victor-stein.dev/blog/seed-bootstrap/</guid><description>I avoided the Mac I wanted because migrating sucked. So I built seed — one curl that rebuilds any machine of mine, credentials and all, from a YubiKey.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate><category>bootstrap</category><category>yubikey</category><category>gpg</category><category>dotfiles</category><category>macos</category><author>Victor Stein</author></item><item><title>I lost a bonus, so I learned to code in Notepad</title><link>https://victor-stein.dev/blog/callcenter-to-engineer/</link><guid isPermaLink="true">https://victor-stein.dev/blog/callcenter-to-engineer/</guid><description>The real version of my call-center-to-engineer story starts with a lost bonus, an HTML file on a shared drive, and a name I borrowed from Frankenstein.</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><category>career</category><category>communication</category><category>javascript</category><category>self-taught</category><author>Victor Stein</author></item></channel></rss>