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.