⸻ Product engineer · Vancouver, BC
Turning ambiguous ideas into shipped products: shaping the direction, building the full stack, and sweating the details that make software feel good to use.
I'm Valentin, a product engineer with 14+ years of experience across startups, and I like the whole arc: shaping an idea, building the backend and the frontend, then shipping it to real people.
I went through Techstars with Speakbox, a mental health practice management platform, and I keep a foot in open source. TypeScript is home; I reach for Go when I want a CLI or a tight API, and Python when something just need scripting.

Vancouver, BC
open-sourceSelf-hosted webhook ingest, Redis-backed relay, Next.js dashboard, and Go CLI for streaming webhook events into local development.
Open-sourced. One ingest URL, webhooks live in your CLI in seconds.
open-sourceDevtools for seeing where React Server Components end and Client Components begin.
The overlay I reach for when the boundary goes invisible.
Techstars '21Practice-management and client-collaboration platform for mental health clinicians and patients.
Techstars '21. Shipped to real clinicians and their patients.
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.
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.
Open-source relay: one stable ingest URL, gRPC fan-out to developer CLIs, HMAC-faithful passthrough, and explicit flow control. Built as a narrow slice next to full managed ingress products.
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 constructive extension point so ecosystem tools could register inside the Next.js dev UI instead of separate chrome.
Two albums on the streaming platforms. I write and record when the IDE is closed.
Training the Afro-Brazilian art of movement, music, and a fair bit of falling over.