Leonardo Nguyen

Software engineer · systems, cloud, full stack · San Diego, CA

Builds systems end to end and cares most about the seams: Rust and C++ at the bottom, React and Next.js at the top, and the queues, workers, pipelines, and deploys in between. Everything on this site is live and open to inspection.

Projects

Argus

A hundred-eyed scanner for phishing links and malicious files.

pipeline · 2026 · distributed systems · fullstack

A URL and file analysis service built as a pipeline of independent checks: URL normalization and de-obfuscation, redirect-chain following behind an SSRF guard, look-alike domain scoring, and file inspection in an isolated worker. Each check emits weighted signals and a scoring layer combines them into an explainable verdict, served by a Fastify API, a CLI, and a Next.js dashboard with SQLite-backed history.

Built with TypeScript, Next.js, Node.js, Fastify, SQLite, Docker

Tartarus

A sandbox that safely runs hostile code, and dares you to escape it.

platform · 2026 · systems · infrastructure

A multi-tenant code execution service. Untrusted Python and JavaScript run as WebAssembly under wasmtime with no network, no host filesystem, and hard CPU, memory, wall-clock, and output limits. A Rust gateway, queue, and worker pool on Fly.io feed a Next.js IDE with a Monaco editor, a syscall-style trace of every run, and an Escape Arena that invites you to break out.

Built with Rust, WebAssembly, wasmtime, Axum, Next.js, Fly.io

StatJack

Blackjack, but every card is a country.

data · 2026 · fullstack · data pipeline

Country blackjack. Every card is a real nation, its value a real World Bank statistic, and each table has its own bust target derived from the data. A build-time pipeline pulls the World Bank Indicators API, normalizes twelve indicators into playable values, and bakes the snapshot into a self-contained static app with a live 3D globe on the felt.

Built with React 19, TypeScript, Three.js, Node pipeline, World Bank API

K.O. Rush

A fast Pokémon damage-calc arcade game.

game · 2026 · frontend · game logic

One decision under a shrinking clock: out of four real attacker and move combos, which one is guaranteed to KO the target? Built on the real type chart and deterministic level-50 damage math, with a seeded encounter generator that tunes the decoys wave by wave so exactly one answer crosses the line, and it's learnable.

Built with React 19, TypeScript, Vite, Game logic, PokéAPI

Mr. Henderson

A C++ chess engine with a personality.

engine · 2026 · C++ · performance

A from-scratch C++ UCI chess engine: iterative-deepening alpha-beta with quiescence search, a transposition table, and full legal move generation. Compiled to WebAssembly and running in a worker, he is the opponent on this laptop's screen.

Built with C++17, WebAssembly, UCI Protocol, Alpha-Beta, CMake, lichess-bot

About

Education
UC San Diego · B.S. Math-CS, EE minor · 2028
Currently
Software Engineer (Full Stack), Mesa College · seeking SWE internships
Languages
English · Vietnamese
Focus
Distributed systems · cloud infrastructure · performance

Skills

Systems · cloud · full stack

Languages

Systems & Infrastructure

Backend & Data

Frontend

Engineering Practice

Contact

Open to software engineering internships and new-grad roles, and to anyone who wants to talk about systems. The inbox is always open.

MacBook Pro 14″ model by akshatmittal · CC BY 4.0