Behind this site

Tech Stack

The tools used to build, publish, test, and deploy this site, and the job each one does.

Interface

Next.js 16 · React 19 · TypeScript · Tailwind CSS 4

App Router renders the public pages and articles on the server. Shared components, JetBrains Mono, semantic color tokens, Lucide icons, and Base UI/Radix primitives keep the interface consistent.

Content

Tiptap · Shiki · rehype · React PDF

The private editor stores structured articles. Public pages render sanitized HTML and highlighted code on the server. The résumé PDF is generated in the browser when requested.

Data

PostgreSQL · Drizzle ORM · Neon serverless driver

Articles, tags, sessions, and search live in Postgres. Local development can use the Docker Postgres stack with a Neon compatible HTTP proxy; deployment can use Neon. Public pages still work when the database is not configured.

Author access

Better Auth · GitHub OAuth

The author dashboard is gated by GitHub sign in and an allowed account ID. Drafts, editing, and media uploads stay in the admin area.

Deployment

Cloudflare Workers · OpenNext · optional R2

OpenNext packages the Next.js app for Cloudflare Workers. R2 can store article covers when configured; public metadata and the sitemap use the deployment origin.

Measurement & monitoring

PostHog · Sentry (planned)

PostHog measures visits and interactions only after analytics consent. Server errors currently use structured logs. Sentry is the next planned addition and is not integrated yet.

Quality and experience

Vitest · Playwright · ESLint · Prettier · CSS · SVG

Type checks, unit tests, browser checks, and formatting guard changes. The home page sequence diagram uses SVG lines with CSS animation and respects reduced-motion preferences.