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.
- 🍺 homebrew-gos — Homebrew tap for distributing
gosacross macOS and Linux. - 🌐 lingua-marketing — Public marketing site for Lingua (linguacode.dev). Built with Astro 6, Tailwind v4, and deployed to Cloudflare Pages.
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 — app.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. Public marketing site is open; the core product is private and in active development.
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
🐹 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- 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.




