Web Development

Distinguishing “Components” and “Utilities” in Tailwind

Here’s a really quick tip. You can think of Tailwind utilities as components — because you can literally make a card “component” out of Tailwind utilities. @utility card { border: 1px solid black; padding: 1rlh; } <div class=”card”> … </div> This blurs the line between “Components” and “Utilities” so we need to better define those […]

Distinguishing “Components” and “Utilities” in Tailwind Read More »

Interop 2026

Interop 2026 is formally a thing. So, you know all of those wild, new CSS features we’re always poking at but always putting under a “lack of browser support” caveat? The Big Three — Blink (Chrome/Edge), WebKit (Safari), and Mozilla (Firefox) — are working together to bring full and consistent support to them! You can

Interop 2026 Read More »

The “Senior” AI Stack: Next.js 16 + Vercel AI SDK + Local RAG — Building the T4 Stack

Learn how to build the T4 Stack — Next.js 16, Vercel AI SDK, and local RAG with context engineering. Full code examples for embeddings, vector search, and streaming AI chat. Continue reading The “Senior” AI Stack: Next.js 16 + Vercel AI SDK + Local RAG — Building the T4 Stack on SitePoint.

The “Senior” AI Stack: Next.js 16 + Vercel AI SDK + Local RAG — Building the T4 Stack Read More »

Build a Real-Time Markdown Previewer with Vanilla JavaScript: A Step-by-Step Project Guide

Learn how to build a real-time Markdown previewer with vanilla JavaScript in this step-by-step tutorial covering parsing, live preview, localStorage, and deployment. Continue reading Build a Real-Time Markdown Previewer with Vanilla JavaScript: A Step-by-Step Project Guide on SitePoint.

Build a Real-Time Markdown Previewer with Vanilla JavaScript: A Step-by-Step Project Guide Read More »