RSSAmplifier

Blog

Aral Roca

Aral Roca's personal web site. Open source does tend to be more stable software. It's the right way to do things.

aralroca.comRSS feed ↗41 posts

Latest posts

Didit Copilot: shipping an AI agent that lives inside the app

We just shipped Didit Copilot, an AI agent embedded in the Didit identity-verification console. It queries your data through an MCP server, drives the UI through WebMCP tools, and falls back to inferring the DOM. Here is the full architecture — gui-agent, Mastra, and the lessons — so you can build the same for your product.

From Determinism to Probabilism: The AI Paradigm Shift

The shift from deterministic to probabilistic computing isn't just a technical upgrade. It's a change in how knowledge gets created.

One PR to a parser unlocked prerendering in Brisa

How contributing import attributes support to Meriyah enabled Brisa's entire prerender pipeline; and why understanding ASTs matters for framework authors.

Resting heart rate 68 to 56: what changed in my dev work

A 6-month n=1 experiment applying athletic training principles to software development. Intermittent hypoxia, structured rest, and a few other physiological interventions that produced measurable differences.

AI agents shouldn't control your apps; they should be the app

From maintaining open source libraries to building an AI-powered tools OS with Rust and WebAssembly. How Kitmul went from a testing ground to 300+ browser-based tools.

I Built a 100% Private, On-Device AI Audio Stem Splitter (No Servers!)

How I implemented a browser-based AI tool to split songs into vocals, drums, and bass without uploading a single byte to any server.

Next-translate 3.0.0 - Turbopack, Next.js 16, and a New Chapter

Today, I am incredibly happy to announce that Next-translate version 3.0.0 is officially out! This release is focused on Modernity and Stability, including Turbopack support and compatibility with Next.js 15+ async params.

Don't Fall Into the CDN Trap! 🪤

How Brisa's HTML Streaming feature can help you avoid the CDN trap and improve your app’s performance. We’ll also compare Brisa with other popular tools like HTMX and React to highlight the benefits of using Brisa for server-side rendering.

Server Actions have been fixed

Server Actions emerged as an idea to reduce client code and simplifying the interactions that require communication with the server. It is an excellent solution that allows developers to write less code. However, there are several challenges associated with its implementation in other frameworks, which should not be overlooked.

Build Reactive Web Components with SSR

A quick guide on how to build reactive Web Components that work with SSR and with any JavaScript or Vanilla JS framework.

SPA-Like Navigation Preserving Web Component State

Learn how to keep your web components' state intact while navigating, just like in a SPA!

HTML Streaming Over the Wire 🥳: A Deep Dive

Explore HTML Streaming Over the Wire! We explain the Diff DOM algorithm with streaming to make only the necessary modifications, insertions, and deletions between a DOM node and an HTML stream reader.

Power of Partial Prerendering with Bun

Unlock the power of partial pre-rendering with Bun, optimizing web application performance and package size effortlessly.

HTML Streaming and DOM Diffing Algorithm

Explore HTML Streaming and its benefits covering topics from initial loading to advanced cases like navigation, RPCs, and DOM diffing algorithms during streaming

👋 Say Goodbye to Spread Operator: Use Default Composer

"Default-composer" is a tiny library that simplifies setting default values for nested objects

Creating Scalable and Reusable React Components

This post advocates for the creation of versatile and elegant React components from the start to avoid issues with single-use components

🏝️ i18n translations in Next.js 13's app-dir for server/client components 🌊

In this blog post, we explore how to use Next.js 13's app directory and consume i18n translations for both server and client components in an easy way. With this approach, you can reduce the size of your bundles and maintain the code clean.

Teaful DevTools Released!

Teaful DevTools is a browser extension to inspect Teaful applications

Teaful: tiny, easy and powerful React state management

Teaful is a new npm package where you can manage your stores with less than 1kb without the need of boilerplate: reducers, actions, selectors, connect, etc. And without unnecessary rerenders! It subscribes only to the changes of the used properties.

React state with a fragmented store

Fragmented store concept and how to apply it with React Context

Virtual Sommelier, text classifier in the browser

How to develop a food text classifier to suggest the best wines to pair with the name of a dish or an ingredient.

Next-translate - Version 1.0 Released

Next-translate is an i18n library to keep the translations as simple as possible in a Next.js environment. Today we announce the release of version 1.0.

Etiketai - speed up training your AI models with a free open source app

I've launched Etiketai. Training AI models are now more friendlier. Use it from any device ensuring security. It has support for ImageNet and YOLO.

GitHub action to publish your blog post to dev.to

Learn how to automatize publishing to dev.to from your GitHub repo.

Do all roads lead to Rome?

Learn what Rome is, how it fits into the JavaScript ecosystem and my thoughts about it... Will Rome replace all the current tooling?

First steps with WebAssembly in Rust

Discover how to start with WebAssembly in an easy way with Rust.

How to draw gears in WebGL

Learn how to draw dynamic 2D complex shapes in WebGL by drawing gears.

Static Readme Regeneration

Use a cron with Github Actions to always have your GitHub README.md profile updated.

First steps in WebGL

Learn what WebGL is and how it works by drawing a triangle.

Image classifier: in the browser

Learn how to implement any kind of image recognition in the browser by implementing a cat/dog classifier in Tensorflow.js.

Discovering Snowpack

Discover how Snowpack fits into the JavaScript ecosystem.

From Node to Deno

Learn how to use Node ecosystem in Deno.

How to create pagination badges

Learn how to re-use pagination badges logic in all your projects.

Learn Deno: Chat app

Learn how Deno works and it's differences with Node.js by creating a Chat application.

App with React API without tools as Webpack or Babel

Learn how to make an application without tools as Webpack or Babel while using the same API of React.

OpenCV directly in the browser (webassembly + webworker)

Learn how to use OpenCV in the web without a lot of headaches.

Detect text toxicity using React

Discover how to detect threatening language, insults, obscenities, identity-based hate or sexually explicit language on texts using React.

Next-translate released 🎉

i18n for Next.js static pages

Exploring HTMLPortalElement with React

In this article, I will explain how to use HTMLPortalElement doing a “Hello world” demo with React.

Don’t control everything! React forms

Use uncontrolled forms as default way to handle forms.

First steps with TensorFlow.js

Learn how to start with TensorFlow.js