Colophon

What this site is built with, and why.

Hosting & delivery

Static files on Vercel. Free tier. The site builds to plain HTML, CSS, images, RSS, and a small amount of inlined JSX. No server, no database, no runtime. Deploy is a push to the main branch on GitHub; Vercel runs the checks and serves _site/.

Code

Eleventy builds the archive, listing, product, essay, and briefing pages from src/. Public content lives under src/content/ with frontmatter validated by schemas/content.schema.json. The build also runs a snapshot regression check so existing titles, descriptions, Open Graph fields, headings, preserved routes, and primary navigation do not drift silently.

The interactive explainers use React 18 via esm.sh, transpiled in the browser by @babel/standalone. No build step for JSX. A local lucide-stub.js replaces the lucide-react icon library with a minimal set of SVG shapes to keep the explainers dependency-free at runtime.

Styling is split. The prose pages use a hand-written stylesheet at /assets/style.css. The interactive explainers use Tailwind CSS, built once to /assets/tailwind.min.css via the Tailwind CLI. Rebuild is a single npx tailwindcss invocation; the config lives at the repo root.

Source: github.com/iamitp/amitpatnaik-com.

Typography

Source Serif 4 for long-form prose. Space Grotesk for display headings and section labels. JetBrains Mono for monospaced metadata and small-caps runs. All three are free, open, and delivered from Google Fonts.

Colour

Dark-first. Background in the near-black range (#0a0d11, #050709). Foreground in warm off-white (#fafaf9). The accent green (#76b900) is the Nvidia green, used deliberately. The saffron accent (#ff9933) marks India-specific material. A small palette of layer colours tags the nine-layer stack across pages: pink for applications, purple for models, green for kernels, orange for chips, sand for silicon, yellow for energy.

Content management

There is no CMS. Every page is a file in the repository. New public content goes through the Eleventy content model, not a hand-edited listing page: writing items live in src/content/essays/, src/content/explainers/, or src/content/briefings/; product and tool pages live in src/content/products/. Collection templates generate /writing/, /products/, and the filtered views for essays, explainers, briefings, work, and tools.

Measurement

The site uses Vercel Speed Insights and is wired for Vercel Web Analytics so the public surface can be improved from aggregate traffic and Core Web Vitals. No ad pixels, no third-party marketing tags, no fingerprinting scripts, and no cookies are set by this site. Server-side referrer-policy header remains strict-origin-when-cross-origin.

Web Analytics must still be enabled in the Vercel dashboard before pageview reports appear; the code path is present in the deployed site.

Production discipline

UK English throughout. No em dashes. No banned filler (see about). All statistics checked against primary sources, flagged when estimates. Interactive explainers declare a last-updated date. Briefings name their limitations upfront.

Draft and publish flow

Draft in ~/projects/amitpatnaik-com/ on the Mac mini. Preview locally when useful, but the Vercel preview branches are the authoritative preview surface. Publish = push to main. Rollback = revert the commit. That is the entire flow.

Inspired by