Full-Stack Developer · AI Builder · OSS Maker
I build things that are fast, smart, and occasionally caffeinated ☕
I'm a full-stack developer with a thing for clean architecture, AI-powered search, and terminal tools that spark joy.
Based in 🇮🇹 Italy · Building with .NET, Python & Go · Shipping to production daily.
const riccardo = {
code: ["C#", "Python", "Go", "TypeScript"],
backend: [".NET 10", "Blazor", "FastAPI"],
data: ["PostgreSQL", "Elasticsearch", "Vector DBs"],
ai: ["RAG Pipelines", "Semantic Search", "LLM Agents", "Agent Observability"],
devops: ["Docker", "GitHub Actions", "Fly.io"],
cli: ["Bubble Tea", "Lip Gloss", "Textual", "Typer"],
motto: "Ship it clean, ship it fast, ship it with tests.",
currently: "Building PromptScore, Driftcut and Steplight — prompt linting, LLM migration testing, and agent trace inspection",
};|
MCP Server for Elasticsearch — built with .NET 10 Let any AI agent query, explore, and analyze your Elasticsearch data using natural language. No JSON copy-pasting. No Query DSL memorization. Zero LLM costs.
|
🔍 logqFast, interactive log explorer for the terminal Query log files with SQL-like syntax, filter by time ranges, highlight patterns — all from your shell.
|
|
Local-first trace inspector for LLM agents and tool-driven workflows Load a trace, inspect what happened, and understand why. Steplight helps developers debug agent runs with timelines, tool calls, retries, token usage, latencies, and diagnostics from the terminal.
|
✂️ Driftcut · 🌐 driftcut.dev · 📚 docsEarly-stop canary testing for LLM model migrations Know in minutes — not hours — whether a migration candidate is worth a full evaluation. Stop bad migrations before they burn your budget.
|
|
Static analysis for LLM prompts — ESLint, but for prompts Scores a prompt before it reaches the model. Flags ambiguity, missing structure, and gaps against model-specific best practices. Deterministic rules, pluggable profiles, zero LLM calls.
|
Personal site — projects, experience & how I build Where my projects, my stack, and my story come together — deployed to the edge with Cloudflare Workers.
|
| 🔍 Semantic Search | 🧠 RAG & Agents | ⚙️ Backend Systems |
|---|---|---|
| Embedding-based engines for name matching, transliteration & fuzzy search | Knowledge retrieval systems with LLMs, vector DBs & agentic workflows | Scalable microservices with .NET, FastAPI & containerized deployments |
LLMs · prompt linting · LLM migrations · RAG pipelines · AI agents · agent observability · developer tools · MCP servers · .NET & Blazor · espresso-fueled side projects
"The best code isn't just functional — it's thoughtful, intentional, and built to outlast the hype."
Full-stack dev by day, full-time dad by night.
(Or maybe the opposite? Hard to tell at this point.)

