Hi. I'm John Carmack.

I'm a software engineer focused on production LLM/AI and geospatial/GPU systems. Rust and TypeScript, deck.gl and luma.gl, and the cloud infrastructure that runs them. Lately: primary author of a safety-critical aviation desktop application, lone architect of a real-time analytics platform.

Not the Doom guy. Different guy.

Day Theme BackdropNight Theme BackdropJohn Carmack
Now

Building production LLM systems. Shipped this month: glslint 0.3.1, 14 merged specta PRs, and Lux on the App Store.

Skills

Rust

Rust

TypeScript

TypeScript

JavaScript

JavaScript

React

React

Tailwind CSS

Tailwind CSS

Next.js

Next.js

Vite

Vite

Node.js

Node.js

Tauri

Tauri

MapLibre

MapLibre

deck.gl

deck.gl

WebGL

WebGL

D3.js

D3.js

Python

Python

PostgreSQL

PostgreSQL

Snowflake

Snowflake

AWS

AWS

Terraform

Terraform

Kubernetes

Kubernetes

GitHub Actions

GitHub Actions

Projects

seo-kit

seo-kit

PythonPythonAWSAWSTerraformTerraform
Real-data SEO + GEO audits: does Google rank you, do LLMs cite you.

Command Line Interface (CLI)CLI

promptward

promptward

RustRustTypeScriptTypeScriptReactReactViteVite
An LLM gateway that blocks prompt injection and proves the detection rate.

Web

Stormdeck

Stormdeck

RustRustTypeScriptTypeScriptReactReactTailwind CSSTailwindViteVitedeck.gldeck.glMapLibreMapLibreWebGLWebGLluma.glluma.glAWSAWSAWS CDKCDK
Live weather on a deck.gl map, served from the AWS free tier.

Web

deck-wind-layer

deck-wind-layer

TypeScriptTypeScriptdeck.gldeck.glWebGLWebGLluma.glluma.glViteVite
A deck.gl v9 wind-particle layer, advected on the GPU.

Web

glslint

glslint

RustRustTypeScriptTypeScriptdeck.gldeck.glluma.glluma.gl
A GLSL checker for the deck.gl and luma.gl shaders stock tools can't parse.

Command Line Interface (CLI)CLILibrary

geo-desktop-bench

geo-desktop-bench

RustRustTypeScriptTypeScriptdeck.gldeck.glMapLibreMapLibreWebGLWebGLluma.glluma.glTauriTauri
Finding the fastest geospatial desktop stack.

Web

Lux

Lux

RustRustAxumAxumTypeScriptTypeScriptReactReactTailwind CSSTailwindTauriTauriTerraformTerraform
A DMX lighting controller: multi-fixture engine, sACN streaming, cloud sync.

macOSmacOSiOSiOS

Download on the App Store
vegify.app

vegify.app

RustRustAxumAxumTypeScriptTypeScriptReactReactTailwind CSSTailwindViteViteTauriTauri
Micronutrition tracking & recipe sharing for plant-based cooking.

WebiOSiOS

Download on the App Store
typed-geojson

typed-geojson

RustRustTypeScriptTypeScript
Strongly-typed GeoJSON for Rust.

Library

tauri-typed-ipc

tauri-typed-ipc

RustRustTauriTauriTypeScriptTypeScriptViteVite
Type-safe Tauri IPC from a single Rust trait.

Library

Manifest

Manifest

RustRustAxumAxumTypeScriptTypeScriptReactReactTailwind CSSTailwindViteViteAWSAWSAWS CDKCDK
Self-hosted AWS cost & inventory dashboard.

Web

accept-payments

accept-payments

RustRustAxumAxumStripeStripeTypeScriptTypeScriptReactReactAWSAWS
A Rust payments & invoicing API on AWS Lambda.

Web

Deep Freeze

Deep Freeze

RustRustAWSAWSTerraformTerraform
Migrate from Dropbox Business to S3 Deep Archive.

Command Line Interface (CLI)CLI

Open source

Merged into other people's codebases. Every link goes to the PR.

14 PRs merged toward 2.0: the OpenAPI paths layer, OAS 3.1 by default, and a bigint remapper the maintainer now uses in his own serde_json tests.

covector

1 merged · 1 open
jbolda/covector
Cargo workspace-dependency support, merged. A follow-up on workspace-root version bumps is in review.

biome

2 merged · 1 open
biomejs/biome
Sharpened the useSortedClasses lint rule for Tailwind class order. A follow-up ordering same-utility values is open.
A macOS test-reliability fix and a Claude Code integration guide, both merged.