Skip to content
View kelvinbiffi's full-sized avatar
⚡
Let's create awesome projects
⚡
Let's create awesome projects

Block or report kelvinbiffi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kelvinbiffi/README.md

Kelvin Biffi

I design and build the interface for AI products, and the layer underneath that keeps them honest.

UX, UI and AI · React · Next.js · TypeScript · Design Systems · Accessibility · MCP · AI Agents · LLM Evaluation 15+ years shipping production software · Remote, Brazil (UTC-3) · kelvinbiffi.com

AI made me faster. It did not make me necessary. Fifteen years of engineering did that, and it is why I can tell a model where to look instead of watching it guess.

I wrote the books on MCP, Context Engineering and AI Agents in Python. Then I shipped all three to production, which is a very different experience.

LinkedIn Email Website YellowKode


The part most teams underbuild

An agent does not fail loudly.

It returns something plausible. The logs look clean. Three weeks later someone finds a corrupted record.

So I stopped trusting model output and started validating it like user input: schema-constrained, value-checked, with guardrails that can refuse to answer, evaluation loops, and cost tracked per conversation instead of per call.

That layer is half of what I do. The other half is the interface on top of it, and it is the half almost everyone underbuilds.

Chat is the easy part. The hard part is every screen after it: the approval card for an action that cannot be undone, the refusal state where the model said no and that is the correct answer, the tool call you can inspect, the citation that ties a claim back to its source, the cost meter, the diff someone has to review before a record changes. Those screens decide whether a person trusts the system enough to use it. A model’s answer is worthless until someone can act on it.


Products I built and run

Product What it is
Linkezera Link-in-bio SaaS. 3,700+ users across LATAM. Built end to end.
Mentezinha Child-safe conversational AI on Google Vertex AI. Built it for my son's homeschooling, now other families use it. With children as the users there is no acceptable failure rate, so the guardrail is a validation layer that can refuse to answer, not a line in a prompt.
StartAtende AI-powered customer support on WhatsApp. Intent routing and cost control per conversation.
ViralRecast Finds what is going viral on TikTok, Reels and YouTube, explains why a post worked and cuts the vertical clips. Web app and an MCP server with OAuth 2.1 so it runs inside Claude and ChatGPT. Postgres with pgvector for post similarity, and an atomic credit wallet that refunds failed media jobs.
Renderster Video rendering as a service, and the media engine behind ViralRecast. Visual editor or JSON in, finished video out. Go API and workers on a Redis queue with retries, backoff and dead-letter, FFmpeg underneath, output on Cloudflare R2.
Couryo Transactional email API built for Brazil, in beta and already sending for my other products. TypeScript end to end: Hono with zod-openapi, BullMQ workers on Redis, Postgres with Drizzle. Delivery runs on AWS SES v2 with a tenant per customer and BYODKIM. Every send takes an Idempotency-Key, so a retried request never becomes a second email. SMTP relay, an MCP server with OAuth, official SDKs for Node, Python and PHP, and 679 tests on the API.
SunoBoard AI music studio. I built it to score the games I want to make, then gave it an MCP server so an agent can compose, check generation status and pull finished tracks without a human in the loop.
MentalKare Accessible mental health platform, multilingual.
YellowKode Academy Courses and technical books for developers. I teach the foundation that makes AI actually work.

Games I ship on the side

Games are why I built SunoBoard in the first place. Under K3 Games Studio I design, build and publish my own, and five are live on itch.io:

Bubble Blaster Kaiju Siege Dino Breakout Hollow Fields Gate of the Dead

Game Genre
Bubble Blaster Puzzle, arcade Aim, shoot, match three. Chain reactions drop whole clusters in slow motion across 24 handcrafted levels in 3 neon worlds, each with its own pixel art creatures and an original synthwave soundtrack.
Kaiju Siege Strategy The kaijus rose from the deep. Deploy five combat mechs, call orbital strikes and hold the city across four living biomes with day and night cycle and weather. Campaign with four bosses, plus an endless mode.
Dino Breakout Action, arcade The fences failed at midnight and the dinosaurs own the streets. Lead the Rescue Rangers through the city and get the civilians out.
Hollow Fields Action, horror The world did not end in fire, it rotted. You are Death's last servant, harvesting thousands of souls with auto-weapons, a manual reap sweep and a dash.
Gate of the Dead Shooter, arcade Arcade shooter.

Shipped for other people

  • Subscription, billing and lifecycle flows on Stripe, used by thousands of paying members at Firstleaf (US wine subscription)
  • An enterprise login and registration gateway with Keycloak and MFA serving millions of users at Lojas Renner
  • Frontend systems for DIFC, the Dubai International Financial Centre, and for 605 Media Analytics
  • A Vue.js landing page builder at Pmweb that cut development effort by 70%, moving page creation out of the engineering queue and into the client's hands
  • Near Companion at Hire With Near: a Chrome extension over an LLM pipeline with Recall.ai, Supabase, HubSpot, Cloudflare R2 and n8n. A bot joins the intake call as a silent participant and writes the structured job description live, during the call. I owned the whole interface, and every model output was schema-validated before it touched a CRM

Stack

Surface React Next.js TypeScript Tailwind

AI in production Claude OpenAI Vertex AI MCP n8n

Underneath Python Node.js Go FastAPI PostgreSQL GraphQL Docker

Agents with tool calling · MCP servers and clients · RAG and contextual retrieval · evaluation loops · guardrails · schema-constrained output · cost control · FFmpeg · WhisperX

How I work: Claude Code daily, with a written context file in every repo so the agent inherits the project's decisions instead of rediscovering them every session.


Here on GitHub

Client work lives in private repos. What is open is everything I build under YellowKode and Wunka, both mine, plus the tooling here.

Couryo SDKs

The official clients for Couryo, open source under Wunka. Each one wraps the API, retries safely with an idempotency key, and plugs into the mail layer the framework already has, so switching providers is a config change and not a rewrite.

Agents, MCP and local AI

  • ollos-mcp - eyes and ears for agents. Whisper transcription, speaker segmentation, perceptual-hash keyframing and OCR, all running locally in Node through ONNX Runtime. No Python, no cloud, no API key, so the file never leaves the machine. Same core ships as an MCP server, a CLI and a Node library. The part I care about is that it reports confidence per block and per segment and filters the lines Whisper invents over silence, because a transcript that does not say where it is unsure is worse than one that is visibly wrong. On npm as ollos-mcp.
  • suno-mcp - MCP server that lets Claude, Cursor and any MCP client generate music with Suno from a plain sentence. It owns the whole generation flow, polling and retrieval, so the assistant never sits blocked on the API. On npm as @yellowkode/suno-mcp, with suno-mcp-core holding the typed handlers and tool schemas so a new transport never means rewriting the tools.
  • yk-agent - autonomous agent that runs entirely on your machine. Browses, extracts and executes with no API key and no account, with a retrieval knowledge base built in. The interesting constraint is privacy: nothing leaves the laptop, which changes what you are allowed to do at every step.
  • yk-chat - local AI chat with the same knowledge base, for people who want to use a model without handing over their data.
  • squadron - an opinionated skeleton for a project run by one person and a team of agents. Ten agents, five skills, and documentation the agents actually obey. Not a framework, a starting point you adapt.

Design systems and teaching


I write

Almost thirty published books. Four of them are the exact stack I work in.

AI engineering

Book
MCP na Prática com Python Amazon
Context Engineering: O Guia Definitivo para LLMs Amazon
Agentes de IA com Python Amazon
Spec Driven Development na Prática Amazon
Everything else I have written (languages, fundamentals, and a cosmic horror series)

Dev na Prática series

Technical, standalone

Fiction: Arquivo Morto, a cosmic horror series

Other

→ All books on Amazon


Remote, Brazil (UTC-3), so most of a US or European day is my day too.

kelvinbiffi.developer@gmail.com · LinkedIn · kelvinbiffi.com

Pinned Loading

  1. ollos-mcp ollos-mcp Public

    Eyes and ears for AI agents. Local, offline transcription, keyframes, on-screen text and a pre-publish review of any audio, video or image, as an MCP server, a CLI and a Node library. No Python, no…

    TypeScript

  2. to-do-ai to-do-ai Public

    Task app with an LLM that turns a plain sentence into a structured task, validated before it is saved. Built with TypeScript and React.

    TypeScript

  3. YellowKode-Academy/yk-agent YellowKode-Academy/yk-agent Public

    Autonomous AI agent that runs entirely on your machine. Browses the web, extracts data and executes tasks with no API key and no account, with a built in knowledge base for retrieval. Local first, …

    HTML 1

  4. Wunka-Tech/couryo-node Wunka-Tech/couryo-node Public

    Official Node.js SDK for the Couryo email API

    TypeScript

  5. YellowKode-Academy/suno-mcp YellowKode-Academy/suno-mcp Public

    MCP server that lets Claude, Cursor, VSCode and any MCP client generate music with Suno from a plain sentence. Handles the full generation flow, polling and track retrieval, so the assistant never …

    TypeScript

  6. YellowKode-Academy/suno-mcp-core YellowKode-Academy/suno-mcp-core Public

    Typed handlers and MCP tool schemas for the Suno API, transport agnostic. Powers both the stdio server and the hosted StreamableHTTP endpoint, so adding a transport does not mean rewriting the tools.

    TypeScript