Skip to content
~sami-ullah

Blog

I write about problems I solve at work: Next.js SEO, NestJS APIs, PostgreSQL schema design, WordPress builds and geospatial web apps. Each post answers one question with working code, links to the official docs and ends with a short FAQ. New posts go out two to three times a week.

#nextjs6 min

JSON-LD Structured Data in Next.js 15

How to add JSON-LD structured data in Next.js 15: a safe script component, typed schema-dts graphs with stable @id values, FAQ rules and how to test it.

read →

#postgresql6 min

PostGIS for Web Developers: A Practical Intro

A PostGIS introduction for web developers: geography vs geometry, nearby search with ST_DWithin, GiST spatial indexes, and GeoJSON output for Leaflet maps.

read →

#nextjs6 min

Next.js App Router SEO Checklist for Next.js 15

A practical Next.js App Router SEO checklist for Next.js 15: metadata, canonicals, sitemap, robots, JSON-LD, rendering, images and 404s, with working code.

read →

#nestjs6 min

NestJS JWT Refresh Tokens: Rotation and Cookies

How to build NestJS JWT refresh tokens properly: short-lived access tokens, rotated refresh tokens stored as hashes, httpOnly cookies and reuse detection.

read →

#nextjs6 min

ISR vs SSG vs SSR in Next.js 15: How to Choose

ISR vs SSG vs SSR in Next.js 15 App Router: what each rendering mode is, how Next.js picks one, a comparison table, working code and a decision checklist.

read →