Backend engineer specialized in Node.js, TypeScript, and Go, with deep focus on distributed systems, developer tooling, and production-grade LLM applications.
I design APIs and platforms that survive real traffic — clean boundaries, strong observability, and the kind of architecture that lets teams ship fast without breaking things. Lately, much of my work sits where backend engineering meets AI: agent workflows, retrieval pipelines, and LLM systems wired into production codebases.
I value pragmatism over hype, fewer abstractions over clever ones, and tools that get out of the developer's way.
Open Source
- 🐹 gos — Install and switch Go versions in seconds. One Bash script. Zero dependencies. macOS · Linux · Windows.
- 🎭 electron-stagewright — Drive Electron apps the way Playwright drives browsers — an MCP server built agent-first for AI coding agents (Claude Code, Cursor, Codex, Cline). Launch apps, query the accessibility tree semantically, assert with retrying
expect_*primitives, and replay session traces with per-tool token budgets. Docs - 🖼️ vitrine — Turn code into beautiful images, straight from your macOS menu bar. Native, instant, fully local — no account, no network. Website
- 🌐 lingua-marketing — Public marketing site for Lingua (linguacode.dev). Built with Astro 6, Tailwind v4, and deployed to Cloudflare Pages.
- 🍺 homebrew-gos — Homebrew tap for distributing
gosacross macOS and Linux.
Currently Building (private)
- 🤖 Janusly — An AI operator for business workflows: a DAG runtime where AI is part of the loop, not glued on top. The differentiator is the failure-recovery loop — AI patch suggestions with self-rated confidence, sandbox replay before commit, cluster apply across DLQ entries sharing a failure signature, and one-click rollback. Generic workflow execution (durable retries, decision engine, RL adjustments, NL run explanations) is the table-stakes layer underneath. With an Anthropic key, it becomes end-to-end: prompt → workflow → execution → decision → learning → recovery → rollback → conversational explainability. Without one, every deterministic path still works.
- 🛒 Puntovivo — Full-stack POS platform (v3). TypeScript + tRPC, multi-vertical (retail, restaurants, delivery), offline-capable, with AI assistants (invoice OCR, in-app copilot), thermal-print receipt rules, and a custom design system for operator-grade UI.
- 🧠 Lingua — linguacode.dev · Multi-language desktop code runner — JavaScript, TypeScript, Python, Go, and Rust in one offline-first, Monaco-powered app. Combines Monaco Editor, a project file tree, inline console output, and language-specific execution backends for both desktop and web builds. The multi-language answer to RunJS: same "open, write, run" ergonomics, but with Go, Rust, and Python as first-class citizens instead of JavaScript-only. The marketing site is open source; the core product is private and in active development.
- 📋 Gancho — Smart Clipboard for the Apple ecosystem: clipboard history + a searchable snippet library for Mac, iPhone & iPad. Private by design — your data stays on your devices.
Areas of ongoing client / contract work (generic)
- High-throughput Node.js / NestJS APIs and queue-driven workers with strong observability.
- Go microservices where concurrency, latency, and footprint actually matter.
- Production LLM systems — Claude / OpenAI agents with tool use, structured outputs, and grounded retrieval.
- Internal developer tooling — CLIs, scripts, and platform glue that compresses friction across engineering teams.
Languages
Backend & APIs
AI & LLM Engineering
Data & Storage
Infra, DevOps & Observability
🎭 electron-stagewright — Agent-Native Electron Automation
Drive Electron apps the way Playwright drives browsers — but designed for AI agents, not adapted for them.
An MCP server that lets AI coding agents operate real Electron desktop apps. Agent-first from the primitive level up: errors carry recovery hints and similar-ref alternatives, every response reports its own token cost, composite wait_for_state predicates collapse multi-call chains, and retrying expect_* tools replace read-compare-retry loops. Ships replayable session traces with per-tool token budgets.
claude mcp add electron-stagewright --scope user -- \
npx -y --package @electron-stagewright/core --package playwright electron-stagewright🐹 gos — Go Version Switcher
Install and switch Go versions in seconds. One script. Zero dependencies.
A single Bash script that replaces the manual pain of managing Go installations. Auto-detects OS and CPU architecture. Available via curl | bash, Homebrew, and more.
gos latest # install latest stable Go
gos install 1.21 # pin a specific version
gos current # show what's running🖼️ vitrine — Code → Beautiful Images
Turn code into beautiful images, straight from your macOS menu bar.
A native macOS menu-bar app that turns snippets into share-ready images. Native, instant, and fully local — no account, no network, nothing leaves your machine. Visit the website →
- Boring tech, sharp execution. Pick proven tools. Spend the novelty budget where it actually matters.
- Observability is not optional. If you can't see it in production, you don't own it.
- Small interfaces, composable parts. Most complexity comes from premature abstractions, not missing ones.
- Type the boundaries. TypeScript and Go aren't religions — they're contracts that catch bugs before users do.
- AI is a system, not a prompt. Real LLM apps live or die by retrieval, evals, guardrails, and observability — not the model name.
- Ship, then sharpen. A merged PR teaches more than a perfect plan.




