Category
Web

The Web category covers all aspects of creating and maintaining websites and web applications. It is traditionally split into two main areas, though the lines are increasingly blurred:

  • Front-End: The client-side, what the user sees and interacts with in their browser.
    • Technologies: HTML, CSS, JavaScript, and frameworks like React, Angular, or Vue.
  • Back-End: The server-side, responsible for logic, databases, and authentication.
    • Technologies: Languages like Node.js, Python, PHP, Java, and databases like PostgreSQL or MongoDB.
Web

April 2026

Three.js Static Shadow Baking: One Flag That Saves 20-40% GPU
April 20, 2026

Three.js Static Shadow Baking: One Flag That Saves 20-40% GPU

I posted a Three.js perf thread and got a sharp question back about whether 'baking' was even the right word. The source code said yes and no. Here is what the exchange taught me about `autoUpdate = false`, runtime caching, and a 20-40% GPU win.

Read
JSON-LD Structured Data for Blogs: A Real Implementation
April 7, 2026

JSON-LD Structured Data for Blogs: A Real Implementation

Pages with structured data are 2.3x more likely to appear in AI Overviews. Here is how I added BlogPosting JSON-LD to my Astro blog with real code.

Read

March 2026

Running SQLite in the Browser with OPFS and Web Workers
March 12, 2026

Running SQLite in the Browser with OPFS and Web Workers

Discover how to set up SQLite in the browser using the Origin Private File System (OPFS) and Web Workers. Build high-performance, local-first applications with relational power and zero server costs.

Read

January 2026

LinkPreview AI: The Privacy-First, Client-Side QR Code Generator
January 20, 2026

LinkPreview AI: The Privacy-First, Client-Side QR Code Generator

Most QR code generators track you. LinkPreview AI enables zero-knowledge, client-side QR generation with no database. Here is how it works.

Read
isemailok.com: The Silent API
January 17, 2026

isemailok.com: The Silent API

A story of a perfectly working Redis-backed micro-SaaS that died in silence. Why building isn't enough.

Read
EasyPageGo: The Rube Goldberg Website Builder
January 16, 2026

EasyPageGo: The Rube Goldberg Website Builder

How I engineered a Docker-based website builder that solved a problem no one had. A post-mortem of over-engineering, market misreading, and the pre-ChatGPT struggle.

Read

July 2025

The Evolution of Password Security: From Basic Storage to Argon2
July 18, 2025

The Evolution of Password Security: From Basic Storage to Argon2

A level-by-level journey into password security. Discover why a simple hash isn't enough and how to defend your users from hackers and data leaks, from salt and pepper to Argon2.

Read
Animated Transitions in MPAs with the View Transitions API
July 13, 2025

Animated Transitions in MPAs with the View Transitions API

Enjoy your Multi-Page Application (MPA) without giving up smooth, SPA-like page transitions using the View Transitions API. A practical guide with code examples to implement professional animations with just a few lines of CSS, enhancing the user experience through progressive enhancement.

Read
Intersection Observer: Smooth Animations Without Blocking the Page
July 9, 2025

Intersection Observer: Smooth Animations Without Blocking the Page

Stop using the scroll event for your animations. Discover how Intersection Observer improves performance easily and quickly.

Read

April 2025

Run n8n and SearXNG Locally with Docker: Build Your Own No-Code AI Playground
April 20, 2025

Run n8n and SearXNG Locally with Docker: Build Your Own No-Code AI Playground

Discover how to set up n8n and SearxNG to build a private AI agent for web searches. You'll have an AI agent that fetches information online without tracking your data. Ideal for those interested in automation and privacy!

Read
Free Online Text to Speech Generator - SpeechStudio.ai
April 18, 2025

Free Online Text to Speech Generator - SpeechStudio.ai

Check out SpeechStudio.ai, a free and powerful text-to-speech tool that provides natural-sounding voices and supports multiple speakers. It's perfect for podcasts, presentations, and creative projects, all without any costs or signups.

Read

December 2024

Throttling Explained: A Guide to Managing API Request Limits
December 4, 2024

Throttling Explained: A Guide to Managing API Request Limits

Learn how to implement a simple and effective throttling system in TypeScript to protect your APIs from overload. This guide covers rate-limiting strategies, IP tracking, and periodic cleanup to manage stale records and optimize performance.

Read

February 2024

Optimize Three.js: 4 Key Techniques
February 12, 2024

Optimize Three.js: 4 Key Techniques

Practical tips for improving performance when working with Three.js scenes in real-world projects.

Read

November 2023

Cache-Control max-age, stale-while-revalidate
November 23, 2023

Cache-Control max-age, stale-while-revalidate

Until now, thanks to Last-Modified/If-Modified-Since or ETag/If-None-Match we mainly saved on bandwidth. However, the server always had to process each request.

Read
ETag/If-None-Match
November 21, 2023

ETag/If-None-Match

we explored the usefulness of the Last-Modified Response Header and If-Modified-Since Request Header. They work really well when dealing with an endpoint returning a file. What about data retrieved from a database or assembled from different sources?

Read
Last-Modified / If-Modified-Since
November 16, 2023

Last-Modified / If-Modified-Since

Less load on the server and less bandwidth usage for the same result? Where should I sign up? Nowhere, you just need to know the right headers.

Read

December 2022

How to Use a Reverse Trie for Fast Disposable Email Domain Detection
December 5, 2022

How to Use a Reverse Trie for Fast Disposable Email Domain Detection

Learn how to use a reverse Trie to efficiently detect disposable email domains. Optimize your domain lookups with a scalable, memory-efficient solution tailored for fast and precise results.

Read

April 2022

GitHub App and OAuth ~ Disjointed flow
April 28, 2022

GitHub App and OAuth ~ Disjointed flow

Discover how to integrate GitHub App functionality into an existing OAuth-based authentication system. This guide explains how to authenticate as a GitHub App using JWT, retrieve installation IDs, and access repositories associated with the app.

Read
OAuth popup ~ Practical Guide
April 27, 2022

OAuth popup ~ Practical Guide

Enhance your GitHub OAuth implementation by using a popup approach for authentication in single-page applications (SPAs). This guide walks you through the process of spawning a popup for user authentication and securely handling the access token.

Read
GitHub App and OAuth ~ Practical Kick-Starter
April 26, 2022

GitHub App and OAuth ~ Practical Kick-Starter

Learn how to build an interface that allows GitHub-authenticated users to view which repositories have a specific GitHub App installed. This guide covers creating a GitHub App, implementing OAuth authentication, and querying the GitHub REST API for installations and repositories.

Read
Headers for large files
April 26, 2022

Headers for large files

HTTP headers Content-Length, Content-Encoding, and Transfer-Encoding impact the transmission of large files in web applications. With a practical Node.js server example, learn about header combinations and the importance of the Content-Length header and gzip compression for optimizing web performance.

Read
CORS, Preflight request and OPTIONS Method
April 10, 2022

CORS, Preflight request and OPTIONS Method

This post is intended to be a light reading with the purpose to give a minimum of context and instill some curiosity towards a topic often considered opaque - CORS are a simple HTTP-header mechanism that every web developer can easily understand.

Read

October 2021

Penetration and Security in JavaScript
October 7, 2021

Penetration and Security in JavaScript

Are you sure you are ensuring your code to be used as intended? Are you preventing it from beeing used in a malicious way? If what comes your way is putting guards in your functions, this post will open up a world for you. Using checks is not enough.

Read
Built-in-like Range in JavaScript
October 6, 2021

Built-in-like Range in JavaScript

Make it possible to generate any range of integers with built-in-like syntax.

Read