Federico Kauffman
CTO & Founder
11 posts
Random SVG Avatars with NextJS
Tired of generic profile pictures? A step-by-step guide to generating unique, random SVG avatar images on the fly with Next.js and the @vercel/og library.

CRDTs: Building a P2P Game
Part three of the CRDTs series: building a peer-to-peer keyboard game with WebRTC and React, using a distributed PNCounter to track key presses across clients.

CRDTs: The Complex Distributed Counter
Part two of the CRDTs series: removing the increment-only and fixed-client-count restrictions to build a PN-Counter that supports decrements and an arbitrary number of clients.

CRDTs: The Simple Distributed Counter
An introduction to conflict-free replicated data types (CRDTs) — data structures that enable collaborative apps with strong eventual consistency and no coordination — starting with a simple G-Counter.

Flattening a directory structure on AWS S3
There are many ways to flatten a directory structure on AWS S3. Here's a very simple one using the AWS CLI and some basic shell commands.

React Animations and Performance
There are many ways to animate on the web. This post explores a naive approach, compares it with a better one — all in React — and shows the performance difference.

Streaver - Latin America Leaders 2020
Streaver has been named one of Clutch's top software developers in Uruguay. We celebrate the award by sharing a recent five-star client review from our full-stack work.

React Adaptive Hooks and APIs
React Adaptive Hooks leverage browser APIs for adaptability — tools worth keeping in mind when building user experiences. Let's explore when to use them to build great experiences.

Translating Vue: Why It Matters
Helping the community takes many forms. By contributing to translation efforts we lower the entry barrier for developers who weren't lucky enough to learn English — building a better, more inclusive tech world.

Pull Request Previews with Netlify
Unit tests are a good start, but for OSS libraries you also want to confirm they work in a real app. Let's set up pull-request preview apps with Netlify.

Building CLIs with JavaScript and Oclif
As a developer you use CLIs every day, and a good one feels great. Let's discover how to build our own friendly, intuitive CLIs with JavaScript and oclif.
More from the Streaver team
The latest writing from Federico Kauffman’s colleagues — engineering deep-dives, applied AI, and lessons from shipping production software.

Introduction to Alpine.js: When to Use It
Alpine.js adds dropdowns, modals, and tabs to server-rendered HTML, no build step. When to use it with Laravel or htmx, and when React or Vue fits better.

Out of Claude Credits by 11 AM
Out of Claude Code credits by 11 AM? How one developer split the work across Haiku, Sonnet and Opus subagents and stopped hitting the usage limit.

A Design System That Stops AI Slop
AI-built products drift: new greys, new sizes, new modals on every screen. How a designer wrote the rules, tokens and checks that keep AI on-brand.