Newsletter Archive

Every issue – browse by topic or search by keyword.

52 issues
Jan 28, 20265 min read– Issue #52
AI takes over the terminal: Warp, Cursor & the shell of the future

This week we explore how AI is reshaping developer tooling at the lowest level – the terminal and code editor. Plus: a deep dive into Cursor's composer mode.

AIDevToolsProductivity
Read
Jan 21, 20266 min read– Issue #51
The state of TypeScript in 2026 – is it winning?

TypeScript 5.8 shipped, adoption hit 82% among JS devs, and still some hate it. We break down what's new and whether the type wars are truly over.

TypeScriptJavaScript
Read
Jan 14, 20267 min read– Issue #50
Bun 2.0 vs Node 24 – benchmark battle

We ran 1M req/sec benchmarks, compared startup time, package install speed, and TypeScript DX. Results inside.

Node.jsPerformanceBun
Read
Jan 7, 20268 min read– Issue #49
The 2026 Frontend Developer Survey – 4,000 devs answered

React still dominates, but Svelte is growing fast. Vue keeps its niche. Here's what 4K devs said about their stack, salary, and burnout.

FrontendSurveyReact
Read
Dec 31, 202510 min read– Issue #48
Best dev content of 2025 – our annual roundup

Articles, tools, libraries, and talks that defined the year. Curated by the TechForDev team and community votes.

Roundup2025
Read
Dec 24, 20255 min read– Issue #47
Git tips you're probably not using

git bisect, worktrees, sparse checkout – these advanced Git features can save hours. Explained simply with real examples.

GitTips
Read
Dec 17, 20259 min read– Issue #46
Next.js 16 App Router: a practical guide for teams

Server components, Partial Prerendering, and cache busting in production. Real-world lessons from migrating a 200-page app.

Next.jsReact
Read
Dec 10, 20257 min read– Issue #45
Why Rust in 2025 – beyond the hype

Three real projects that switched critical paths from Go/C++ to Rust. Maintenance, tooling, hiring – the honest picture.

RustBackend
Read
Dec 3, 20256 min read– Issue #44
Micro-frontends are a spectrum, not a pattern

Module federation, single-spa, and iframes – we explore when micro-frontends actually help and when they're just complexity.

ArchitectureFrontend
Read
Nov 26, 20255 min read– Issue #43
The open source sustainability crisis

Another critical library abandoned. How developers and companies are (and aren't) addressing the sustainability problem.

Open SourceCareer
Read
Nov 19, 20256 min read– Issue #42
PostgreSQL 18 preview – what's new?

Asynchronous I/O, query parallelism improvements, and the biggest pg_upgrade story of the year. Deep dive inside.

PostgreSQLBackend
Read
Nov 12, 20255 min read– Issue #41
Tailwind CSS 4.0 is out – what changed?

Oxide engine, CSS-first configuration, and zero-config setup. We migrated a project and documented every breaking change.

CSSTailwindFrontend
Read
Nov 5, 20256 min read– Issue #40
React 19 Server Actions in production

How to handle form validation, error boundaries, and optimistic updates using the new React server APIs.

ReactFrontend
Read
Oct 29, 20255 min read– Issue #39
Vite 6.0 and the new Environment API

Vite 6 expands support beyond browser environments. A look into SSR, worker runtimes, and building universal assets.

FrontendPerformance
Read
Oct 22, 20256 min read– Issue #38
Docker vs Podman in 2025 – rootless container checks

Is Podman ready to replace Docker for local development? We evaluate performance, alias aliases, and compose support.

DevToolsPerformance
Read
Oct 15, 20258 min read– Issue #37
WebGPU is finally ready for mainstream frontends

Move over WebGL. We build a high-performance 3D visualization using three.js and WebGPU, showing frame rate improvements.

FrontendPerformance
Read
Oct 8, 20257 min read– Issue #36
State management in 2025 – the Signal takeover

From Preact to Angular, and now React compilers. Are signals the ultimate pattern for reactive web applications?

JavaScriptFrontend
Read
Oct 1, 20255 min read– Issue #35
CSS Anchor Positioning – goodbye absolute offsets

Anchor elements to each other without parent wrappers. We build tooltips, popovers, and dropdown menus.

CSSFrontend
Read
Sep 24, 20255 min read– Issue #34
Understanding the Node.js Native Test Runner

Stop installing Jest or Mocha. Node's native test runner has coverage, mocking, and watch mode built-in.

Node.jsJavaScript
Read
Sep 17, 20256 min read– Issue #33
Deno 2.0 – backward compatibility focus

Deno 2.0 introduces npm specifiers by default, full Node compatibility, and monorepo workspaces. Is it time to switch?

BunNode.js
Read
Sep 10, 20255 min read– Issue #32
How to optimize your LCP in 3 simple steps

Largest Contentful Paint is key for SEO and UX. We outline image prioritization, connection warming, and critical CSS tips.

PerformanceProductivity
Read
Sep 3, 20257 min read– Issue #31
The rise of SQLite in production backends

With LibSQL and Turso, SQLite is moving from local files to serverless edge databases. We run scalability checks.

BackendPerformance
Read
Aug 27, 20255 min read– Issue #30
Git features you should know – bisect, worktree

Debug faster and clean up your workspace by using advanced Git features for parallel branches.

GitTips
Read
Aug 20, 20255 min read– Issue #29
Docker Compose secrets in local development

Keep passwords, tokens and API keys out of your Git history. We configure Docker Secrets for dev/prod profiles.

DevToolsProductivity
Read
Aug 13, 20257 min read– Issue #28
Chrome DevTools tips for web performance profiling

Find layout shifts (CLS), long tasks, and unused JS bundles using the Chrome Performance panel.

DevToolsPerformance
Read
Aug 6, 20256 min read– Issue #27
Is Svelte 5's Runes syntax the right direction?

Svelte 5 replaced let-bindings with runes like $state and $derived. We discuss the benefits for scalability.

FrontendJavaScript
Read
Jul 30, 20258 min read– Issue #26
An introduction to HTTP/3 and QUIC protocol

Why web requests are faster under QUIC. We discuss packet loss recovery, header compression, and server setup.

BackendPerformance
Read
Jul 23, 20255 min read– Issue #25
Migrating from Jest to Vitest – an honest guide

Vitest uses Vite's configuration under the hood. We document test migration steps and speedups.

FrontendPerformance
Read
Jul 16, 20256 min read– Issue #24
Advanced TypeScript mapping and utility types

Build custom templates and maps in TypeScript. We write type utilities for backend validation schemas.

TypeScriptJavaScript
Read
Jul 9, 20255 min read– Issue #23
The CSS Grid properties you are not using

grid-template-areas, auto-fit, fit-content, and subgrid. We build complex grid designs with zero media queries.

CSSFrontend
Read
Jul 2, 20255 min read– Issue #22
What is Bun Shell and how do we use it?

Bun Shell runs bash-like commands natively inside JavaScript without platform shell dependencies.

BunNode.js
Read
Jun 25, 20256 min read– Issue #21
Introduction to PostgreSQL window functions

Over, Partition By, and Row Number. We write complex analytical SQL queries without slow join operations.

PostgreSQLBackend
Read
Jun 18, 20255 min read– Issue #20
Optimizing CSS for Core Web Vitals (CLS/LCP)

Ensure web layout stability by loading critical CSS first. We prevent layout shifts from lazy-loaded images.

CSSPerformance
Read
Jun 11, 20255 min read– Issue #19
Why you should check out Biome for linting

Biome replaces Prettier and ESLint in a single Rust binary. We run formatting benchmarks on large files.

DevToolsPerformance
Read
Jun 4, 20255 min read– Issue #18
The power of CSS Container Queries

Style components based on parent container width rather than viewport width. We build responsive page cards.

CSSFrontend
Read
May 28, 20257 min read– Issue #17
Understanding Node.js Event Loop phases

Timers, Poll, Check, and Close. We trace execution order to prevent main-thread event blockages.

Node.jsPerformance
Read
May 21, 20255 min read– Issue #16
Introduction to Git Hooks with Husky

Prevent broken lint checks and failed build commits by running pre-commit checks locally in your repository.

GitTips
Read
May 14, 20256 min read– Issue #15
How to use standard Web Component APIs

Custom Elements, Shadow DOM, and HTML Templates. We build framework-free reusable components.

FrontendJavaScript
Read
May 7, 20256 min read– Issue #14
A practical guide to Web Workers

Run heavy computations in browser threads to keep the main thread fluid and prevent frame drops.

FrontendPerformance
Read
Apr 30, 20255 min read– Issue #13
Using PostgreSQL JSONB indexes effectively

Query nested JSON properties quickly. We build GIN indexes on dynamic table attributes.

PostgreSQLBackend
Read
Apr 23, 20255 min read– Issue #12
Optimizing typography LCP layout shifts

Ensure web layouts don't shift when custom web fonts download. We configure font-display override variables.

CSSPerformance
Read
Apr 16, 20255 min read– Issue #11
How CSS Nesting works natively in browsers

Ditch Sass compilation. Write nested selectors directly in vanilla CSS styles with full browser support.

CSSFrontend
Read
Apr 9, 20256 min read– Issue #10
Writing clean tests with MSW (Mock Service Worker)

Mock REST/GraphQL API network requests in frontend test environments by intercepting service worker channels.

FrontendJavaScript
Read
Apr 2, 20255 min read– Issue #9
Understanding CSS Grid Subgrid layouts

Inherit column grids from parent components. We align cards inside a multi-column row perfectly.

CSSFrontend
Read
Mar 26, 20255 min read– Issue #8
Deploying Edge middlewares inside Next.js

Intercept HTTP requests at the edge. We implement geo-routing, security headers, and cookie routing.

Next.jsBackend
Read
Mar 19, 20255 min read– Issue #7
How to use CSS custom properties in JS

Read and write style variables dynamically. We build active CSS theme selectors in vanilla JavaScript.

CSSJavaScript
Read
Mar 12, 20256 min read– Issue #6
A deep dive into JavaScript generator functions

Yield values, handle streams, and construct custom iterator loops using standard JS functions.

JavaScriptTips
Read
Mar 5, 20255 min read– Issue #5
Using standard CSS Aspect Ratio rules

Prevent layout shifts for responsive images and videos by setting native aspect-ratio CSS rules.

CSSPerformance
Read
Feb 26, 20257 min read– Issue #4
An introduction to client-side IndexedDB databases

Store structured binary data directly in browsers. We build offline-first database sync pipelines.

FrontendJavaScript
Read
Feb 19, 20255 min read– Issue #3
How CSS display-contents works

Bypass container style blocks while keeping layouts intact. We integrate semantic markup elements.

CSSFrontend
Read
Feb 12, 20256 min read– Issue #2
Optimizing database queries using indexes

Learn about indexes, GIN indices, and how to write efficient SQL join queries.

PostgreSQLBackend
Read
Feb 5, 20254 min read– Issue #1
Welcome to TechForDev Newsletter

We launch the weekly developer digest – aggregating tech news, developer resources, and tutorials.

RoundupTips
Read
👋 Need help with code?