RSSAmplifier

Blog

Valentin Prugnaud

AI Product Engineer with 14+ years of experience in TypeScript. Building Hookie and RSC Boundary.

valentinprugnaud.devRSS feed ↗20 posts

Latest posts

A Release Pipeline With No Long-Lived Tokens and No Silent Tampering

How I secured the Hookie CLI release pipeline with OIDC trusted publishing, staged npm releases behind 2FA, and immutable GitHub release assets.

A CLI Should Do More Than Wrap Your API

Notes from building Hookie: API-shaped commands are useful, but AI-native dev workflows need CLI commands that own the whole task.

Shipping Code Faster Is Not the Bottleneck

Agent-loop discourse sells parallel code output. For solo builders the binding constraint is usually demand, and a useful receipt needs cost, artifact, and a user-visible before/after.

The Interview Gap

The industry says AI agents will write most of the code. Senior engineering interviews still gate on whether you can produce a graph traversal cold in 45 minutes. A checkpoint piece, four months into the job search, on the gap between the two.

Building incident memory from Slack and Meet transcripts

How we built an internal AI post-incident platform around the workflow responders already used: PagerDuty, Slack, Google Meet, structured reports, retrieval, and the tradeoffs that showed up once agent orchestration became production work.

I didn't know what was in my context window. So I went looking.

After installing gstack, I wanted to dig deeper than vendor UIs into what actually lands in context. I built Context Mate as a local experiment to unify traces across Cursor, Claude Code, and Codex. So far it is only partly successful: useful for coarse Cursor buckets and Claude token curves, but not a full inventory by name, and fragile on undocumented storage.

Hookie: multiplayer webhook relay for AI-native development

Multiplayer webhooks for AI-native development: one stable URL, gRPC fan-out to developer and agent environments, HMAC-faithful passthrough, and explicit flow control.

If you can't see the boundary, you can't reason about the system

For App Router practitioners: React Server Components are not hard because the idea is hard. They are hard because the server and client boundary stays invisible at runtime. This post explains why that breaks reasoning, where Next.js dev tooling already helps and where RSC observability could go deeper (dev indicator, MCP), introduces RSC Boundary as the dev overlay I ship today, and sketches a…

The hidden complexity of webhook debugging

Webhooks look simple, but delivery guarantees, retries, and local tunnel workflows create subtle failure modes that waste engineering time. This post maps the real problems teams face and defines what a reliable debugging workflow should provide.

Building a Vercel-like platform on Cloud Run

How we built an internal deployment platform on GCP with Cloud Build, Artifact Registry, Cloud Run, Secret Manager, shared routing, tenant isolation, and merged build/runtime logs.

Gatekeeping vs. Golden Paths: Two Models of Platform Engineering

Platform teams often slow developers down with approval boards and ticket queues. Golden paths achieve the same compliance goals through self-service and opinionated defaults, and developers actually use them.

KSUID in PostgreSQL: A custom function for sortable, prefixed IDs

KSUID is a sortable string ID format that is commonly used in distributed systems. In this post, we implement a KSUID-style generator in PostgreSQL with optional human-readable prefixes, using pgcrypto.

How I setup my monorepo

I've been working on a monorepo for a while now and I've developed a few patterns that work well for me. Here are some of the things I've learned.

Advanced Zod: Designing Complex Validation Schemas

Dive deeper into advanced Zod schema design for TypeScript. Learn sophisticated validation patterns, performance optimization, and complex schema composition techniques for enterprise-level applications.

Intermediate Zod: Validation Workflows and Techniques

Explore advanced Zod validation techniques for TypeScript. Master complex schema creation, custom validation rules, and effective error handling to build robust data validation workflows.

Beginner Zod: Introduction to Schema Validation

Learn the fundamentals of Zod schema validation in TypeScript. Discover how to create basic schemas, validate primitive types, and implement simple validation strategies for your projects.

Port Forwarding: a Deno 2.0 experiment

Exploring Deno 2.0 by creating a streamlined port forwarding script for GKE clusters.

Force Prerelease with Semantic Release

Recently, I had a project at work running Semantic Release to manage releases. But it didn't go as planned!

Setup Webhook Signature with Supabase

Supabase Database Webhook is a great way to trigger a function when a database event occurs. However, it is important to secure the webhook endpoint to prevent abuse.

Resolving the Mystery of Zombie Node Services in Kubernetes

Mysteriously, services were spontaneously restarting, while others, confoundingly, remained running but were dead to any incoming requests. Let's unravel this enigma, from its discovery to its resolution, with the hope that our experiences can assist others in a similar bind.