Frequently Asked Questions

Here are some common questions.

What is this website?

This is a collection of my personal projects, blog posts, and research spanning machine learning, physics, and software engineering.

How can I get in touch?

You can find my contact information and social links on the About page or in the footer.

What technology did you use to build this site?

This inventory reflects the technologies used across the main site, articles, simulations and browser tools. The website source repository is private.

Application and platform

Next.js 14

App Router pages, server rendering, metadata, route loading states, API routes, host-based middleware, redirects, and server-side project source loading.

React 18 + React DOM

Every interactive interface, stateful component, context provider, hook, lazy boundary, and the Browser Visual Lab portals.

JavaScript, JSX, HTML and CSS

The application source, semantic page structure, responsive layouts, light/dark themes, component styling, and CSS animation system.

Node.js

Next.js server execution, filesystem-backed MDX/source loading, content scripts, and build-time asset generation.

Native browser APIs

Canvas 2D and requestAnimationFrame power the landing diffusion, simulations, compositing and video effects; WebGL renders 3D work; MediaDevices, Web Audio and MediaRecorder power Browser Visual Lab; observers and localStorage support responsive UI and theme persistence.

Content, writing and mathematics

MDX + Remark

@next/mdx, @mdx-js, remark-frontmatter and remark-gfm compile new blog posts with frontmatter, GitHub-flavoured Markdown and embedded React components.

gray-matter

Reads and normalises post metadata such as titles, dates, tags, drafts, summaries and preprint links from MDX frontmatter.

KaTeX + react-katex

Renders inline and block equations throughout the interactive simulation explanations.

Plotly.js + react-plotly.js

Interactive scientific and statistical charts inside legacy long-form articles, loaded client-side to keep server rendering stable.

Interface and motion

Ant Design + Ant Icons

Navigation controls, filters, buttons, drawers, inputs and the shared icon language across articles, resources and project tools.

Chakra UI + Emotion

The root UI provider and its CSS-in-JS runtime foundation. Most visible site styling is still intentionally written in plain CSS.

Framer Motion

Page entrances, FAQ transitions, filters, cards, carousels and animated resource interactions.

GSAP

The reusable typewriter text component, including cursor and timing animation.

@use-gesture/react

Pointer, touch and inertial interaction in the draggable dome image gallery.

Pretext

Measures and lays out the selectable landing-page ASCII text so the visible canvas diffusion aligns with real monospace characters.

Graphics, maps and graph views

Three.js

The Three.js gallery, landing and project meshes, reaction-diffusion surfaces, labyrinth sphere, mushroom gills, disco ball, 3D boids and Air Route globe.

React Three Fiber + Drei

React-managed WebGL scenes, cameras, controls, labels and helpers in the globe, boids and dithered visual components.

Postprocessing

@react-three/postprocessing and postprocessing provide the custom dither effect pipeline used by the WebGL Dither component.

OGL

A lightweight WebGL renderer for the animated Grainient background shader.

D3 + d3-force

Resource graph force layout and collision handling, plus geographic projections, paths and great-circle route geometry in Air Route Mapper.

Force Graph

Canvas-rendered, draggable article/topic relationship graphs with zooming, hit testing and force simulation.

TopoJSON + world-atlas

Country outlines, borders and Natural Earth geometry for Air Route Mapper’s two-dimensional map.

Machine learning, authentication and tooling

TensorFlow.js + COCO-SSD

Optional in-browser object detection nodes in Browser Visual Lab; the model and backend are lazy-loaded only when an ML node is used.

Supabase SSR + supabase-js

Cookie-aware authentication, login/logout API routes, session refresh, middleware checks and protection of the admin route.

SVGR

Imports SVG social marks as React components in the navigation and About page.

Sharp

Build-time image analysis and conversion for generating the landing-page ASCII asset.