Xavi Portilla

@xavidop.me

👨🏻‍💻 Gen AI, Cloud. Author. Infra @voiceflowHQ & Core @GenkitFramework | GDG & GDE | Microsoft MVP | Github Star | AWS Alexa Champion & CB | Startup mentor

Secrets leaking into your Go logs? mamori's secret.String renders as [REDACTED] in fmt, JSON, and slog. Only Reveal() exposes the value — greppable in code review. A shipped go vet analyzer flags sensitive refs stored in plain strings. #golang

Bild

What does your config do at runtime? mamori + OpenTelemetry: resolve-duration histograms, refresh & error counters, a span per resolve. The bridge implements tiny Meter/Tracer interfaces — the core stays OTel-free, or write your own sink (Prometheus, statsd). #golang

Bild

Diamond's web app: Vite + React 19 + TypeScript + Tailwind v4 + TanStack Query + Recharts. The API Explorer lets you hit ANY MLB Stats API endpoint with live params + a raw JSON viewer, basically Postman for baseball. ⚾ #React #MLB

Diamond web app API Explorer letting you call any MLB Stats API endpoint with live parameters.

My favorite architecture bit in Diamond: ONE set of 18 MLB tools powers everything: • web DiamondGPT (Genkit + Express) • the in-terminal CLI chat • the diamond mcp server Write the tool once, expose it three ways. #Genkit #golang

Diamond CLI interactive TUI menu showing today's games, HR leaders and ERA leaders in the terminal.

DiamondGPT is a Genkit Agent (ai.defineAgent) with an InMemorySessionStore, so it remembers the conversation between turns. One agent core, models swappable at runtime: Gemini, Claude or OpenAI. #Genkit #AI

DiamondGPT in the web app answering an MLB home run leaders question with live data.

diamond mcp turns the CLI into an MCP server over JSON-RPC (stdio), exposing 18 live MLB tools, the exact same ones DiamondGPT calls. 3 lines of config and Claude Desktop or Cursor can query the MLB Stats API. Built with Genkit Go. #golang #Genkit #MCP

DiamondGPT running inside the terminal, answering an MLB home run leaders question with live data.

How does Diamond ⚾ draw bar charts, spray charts & strike-zone heatmaps inside a terminal? Pure Go + the Charm stack: Bubble Tea for the event loop, Lip Gloss for layout & color, Glamour for Markdown. No browser, no GUI, just ANSI. #golang #TUI

Diamond CLI stat leaders view rendering a home-run leaderboard as an ASCII bar chart in the terminal.

Meet Diamond ⚾, a top-tier MLB stats platform I built. The MLB app ate up space and the stats were... meh. So I built my own: live scores, standings, leaders & deep player profiles. On the web AND in your terminal. 🌐 diamond.xavidop.me 🧵 A bit on how it's built 👇

Diamond web app Today dashboard showing the day's MLB schedule in a dark, modern UI.

I’m super happy to share that I’ve officially been approved for my 3rd Google Developer Experts category! This one is especially unique for me: Go. Over the past years, I’ve been contributing more and more to the Go ecosystem, especially around AI, Genkit, cloud-native development.

Bild

I just released genkitx-temporal! A new Genkit plugin to run Genkit flows as Temporal Workflows, bringing durable execution, retries, timeouts, cancellation, scaling, and Temporal UI visibility to your GenAI apps. buff.ly/5itGbp5

Bild

Nozomi Koborinai and I have updated Mastering Genkit, Go Edition to use Genkit 1.7.0 and Go 1.26. We also refreshed the Middleware chapter, which now uses Middleware V2, making the examples more aligned with the latest Genkit APIs and patterns. 📖 Check it out here: buff.ly/kQ0Yehe

Mastering Genkit: Go Edition

Master the art of building AI with Genkit and Go. This guide takes you from the basics of setting up your development environment to advanced topics like RAG systems, AI agents, and production…

mastering-genkit.github.io

All set for Google Cloud Next here in Las Vegas! 🚀 Excited for a few days of learning, building, and connecting with amazing people in the ecosystem. Who else is coming? 👀 Ping me in DMs, would love to meet up!

Bild

Grateful to everyone who came to my talk yesterday on Genkit at the European GenAI Summit! 🙌 It was amazing to see so much interest, curiosity, and great conversations around building the future of AI. Thanks for the energy, the questions, and for making it such a fun session!

BildBildBildBild

I’ve been using Genkit a lot in JS and Go, and honestly, the dev experience is :fire:, local dev tools, great abstractions, smooth workflows for building AI apps. At some point I thought: Java really needs this. So I went ahead and ported the whole ecosystem to Java: buff.ly/SiEay79

Big update for the Genkit Java ecosystem 🔥 We’ve launched a brand new website for Genkit Java: 👉 buff.ly/SiEay79 And we’re introducing Claude Code Skills to help developers build faster and smarter with Genkit Java: 👉 buff.ly/jXwnJe5 Give it a try and let us know what you think 💡

BildBild

🚀 Nuevo evento en GDG Madrid 📅 9 de abril 🕕 18:00 – 21:00 📍 Impact Hub Alameda Únete a una tarde de workshops hands-on con tecnologías de Google + networking con la comunidad. 💻 Importante: trae tu portátil 🎟️ Regístrate aquí: buff.ly/JvmmVQE Nos vemos allí 👀

Google Technologies Workshop & Networking Evening | Google Developer Groups

In-person Event - Únete a nosotros en el "Taller de Tecnologías de Google y Noche de Networking" este 9 de abril en el Impact Hub Alameda ...

gdg.community.dev

Who said Genkit only works on Google Cloud? 👀 New post: Running Genkit on AWS Lambda with the Bedrock plugin. Typed flows. Streaming support. Zero-boilerplate Lambda handlers. One-line model swaps between Amazon Nova, Claude, and more. 📖 buff.ly/qSp6UFq

Bild