Apr 15 · 4 min read · Welcome to the first installment of Tech Tuesday! When I first started building Genealogix, I had a strict, non-negotiable rule: zero cloud databases. To fulfill the mission of helping people stop ren
Join discussion
Mar 9 · 7 min read · Originally published at recca0120.github.io Browser-side storage has more options than most developers expect. localStorage is the simplest but the most limited. IndexedDB is powerful but its API is notoriously verbose. sql.js gives you a full SQL en...
Join discussionMar 8 · 7 min read · Originally published at recca0120.github.io sql.js lets you run SQLite inside the browser with an API that feels nearly identical to the server-side version. But there is a catch I only discovered the first time I used it: close the tab and all your ...
Join discussionFeb 9 · 4 min read · Last week, I mainly focused on two parts of Brandify: authentication and the designer page. The goal of authentication is for the web application to authenticate itself using Keycloak, so it can access server resources without the server getting invo...
Join discussion
Jan 4 · 8 min read · Previously: Migrated from CopilotKit to Vercel AI SDK. Tools work! Planning phase complete. Now: Building the generation infrastructure and hitting another architectural wall. The Problem Emerges It's late afternoon on Dec 26. Tools are working. I'm ...
Join discussionJan 5 · 2 min read · If Part 13 was about the where (Postgres), Part 14 is about the who. Specifically: Who owns the data? As we prepared to open-source Asset Hatch, we hit a philosophical wall. Do I really want to store 5,000 AI-generated images of "Cute Slime with a To...
Join discussionDec 31, 2025 · 3 min read · Apps these days are inaccessible without an internet connection.As we all know, in an online-first architecture, an application fundamentally relies on a constant and stable internet connection to function. Data is primarily managed, stored, and sync...
Join discussion
Sep 1, 2025 · 9 min read · When you open WhatsApp Web and scan the QR, it looks like “all my chats just appear.” But WhatsApp does not stream your entire history from a server archive. Instead it uses a short, deliberate sequence of steps designed for three goals: Security: k...
Join discussionJul 19, 2025 · 4 min read · Introduction. In a recent article, I introduced Dexie.js, a wrapper library for IndexedDB that simplifies working with it. I should have published this article about using IndexedDB with native APIs before the Dexie.js article. Why? Because only when...
Join discussion