Rajdeep Singh

← Back to work

This Website

Node.jsFirebasestatic

Static HTML, a Node.js build script, and Firebase Hosting. Project and writing pages render from markdown with frontmatter; the homepage is hand-edited; everything else is generated. No CMS, no database, no server — every post is a markdown file in git.

Pipeline

markdown  ──►  node build.js  ──►  public/  ──►  firebase deploy

public/index.html is hand-edited. Everything else under public/ — project pages, writing pages, books, colophon, 404, sitemap, feed, robots — is generated by build.js and overwritten on every build.

Stack

  • Nodemarked for markdown, gray-matter for frontmatter, katex for math, crypto for the build hash
  • Firebase HostingcleanUrls: true, HSTS preload, strict CSP, immutable cache for fonts and images
  • Firestore — one document at /site/waves, atomic-increment-only security rule, drives the real-time wave counter on the homepage
  • IBM Plex Sans — self-hosted woff2, Latin subset only, preloaded with fetchpriority="high"
  • Google Analytics — loaded via requestIdleCallback so it never blocks paint

Show the work

Every page footer carries a live paint-time readout, the hosting region, and a link to its own source markdown on GitHub. The full set of internals — type, color, build hash, page count, word count, dependency list — lives on the colophon. The homepage runs a Firestore-backed wave counter that ticks across every visitor's screen in real time, with a small SVG oscilloscope showing recent activity.

The visual language is the Show the Work doctrine — clean complexity over hidden polish, internals as the surface, signal-red for live state.

github.com/rlogger/website