Jet Pham's Personal Website https://jetpham.com
Find a file
2026-03-27 13:30:36 -07:00
api feat: configure performance for the rust porttion 2026-03-26 18:37:16 -07:00
cgol feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00
public fix: extensive ui improvements 2026-03-26 17:06:31 -07:00
secrets feat: update to match stalwart, and add onion 2026-03-21 00:41:22 -07:00
src feat: fix reduce motion controls 2026-03-27 13:30:36 -07:00
.envrc init 2025-11-18 00:40:48 -08:00
.gitignore fix: update hashes 2026-03-18 17:18:05 -07:00
check_cleanup.txt feat: remove server and update deps to static 2026-02-18 19:08:33 -08:00
eslint.config.js feat: move to vite 2026-03-09 15:50:38 -07:00
flake.lock fix: tor binding 2026-03-26 20:23:18 -07:00
flake.nix fix: recalculate hash 2026-03-26 21:47:08 -07:00
index.html fix: extensive ui improvements 2026-03-26 17:06:31 -07:00
module.nix fix: tor binding 2026-03-26 20:23:18 -07:00
package-lock.json feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00
package.json feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00
prettier.config.js init 2025-11-18 00:40:48 -08:00
README.md feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00
secrets.nix feat: add tor service and style 2026-03-18 17:04:48 -07:00
tor.har fix: tor binding 2026-03-26 20:23:18 -07:00
tsconfig.json feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00
vite-plugin-ansi.ts feat: statically render the jet ansi text 2026-03-05 13:19:49 -08:00
vite.config.ts feat: rewrite readme and clean up support 2026-03-26 21:27:29 -07:00

jetpham.com

Personal site for Jet Pham.

The site is a small Vite app with a terminal-style UI, ANSI-rendered text, and a Rust/WebAssembly Conway's Game of Life background.

Features

  • ASCII/ANSI-inspired visual style with the IBM VGA font
  • Conway's Game of Life running in the background via Rust + WebAssembly
  • Q+A page backed by the site API
  • Single-file oriented frontend build with Vite
  • Reduced-motion aware background controls with a static fallback mode

Stack

  • Vite
  • TypeScript
  • Tailwind CSS v4
  • Rust + WebAssembly
  • npm

Development

Prerequisites

  • Node.js + npm
  • Rust
  • wasm-pack
  • wasm-opt (used by build:wasm)

Install

npm install

Build the WASM package

npm run build:wasm

Start the dev server

npm run dev

Check the app

npm run check

Build for production

npm run build

Structure

src/        frontend app
cgol/       Rust + WASM Conway's Game of Life module

Notes

  • The homepage and Q+A page are the intended public pages.
  • If WebAssembly fails or motion is disabled, the site falls back to a static background treatment.