← All Projects
Nand2Tetris Web IDE
Full Nand2Tetris compiler suite and browser IDE that compiles Jack through VM, assembly, and Hack machine code, with an integrated VM emulator.
Python Flask backendReact, Vite, TypeScript frontendMonaco EditorJack compiler, VM translator, assemblerBrowser VM emulator
⚡ Translating an entire educational computer stack into a web-…⚡ Keeping compiler logic usable both as API and command-line t…⚡ Building a browser emulator that can run generated VM code.⚡ Coordinating Python backend deployment with frontend static …
Portfolio Highlights
- →Built a web IDE and compiler suite for Nand2Tetris, compiling Jack to VM, assembly, and Hack binary with an integrated browser VM emulator.
- →Implemented the full compiler pipeline behind a Flask API and React/TypeScript interface.
- →Deployed the tool on Render with a split-pane developer workflow for inspecting generated artifacts.
Snapshot
- Period: November 2025
- Source: `aspire7:D:\SWE\NANDtoTETRIS` · `github.com/josegibson/NANDtoTETRIS` (TypeScript web IDE) · `github.com/josegibson/Assembler` (standalone Python assembler)
- Domain: Compilers, virtual machines, educational tooling
- Status: Deployed web tool
- Live deployment noted in README: `https://nand-compiler-web.onrender.com/`
Stack
- Python Flask backend
- React, Vite, TypeScript frontend
- Monaco Editor
- Jack compiler, VM translator, assembler
- Browser VM emulator
- Render deployment
What I Built
- Jack tokenizer, parser, symbol table, and VM code generator.
- VM translator and Hack assembler.
- Flask compiler API.
- React web IDE with split panes for source, VM, assembly, and binary output.
- Browser-side VM emulator with screen/keyboard support.
- Downloadable compilation artifacts.
- Standalone Python Hack assembler (`josegibson/Assembler`): Parser, SymbolManager, and Convert modules — a self-contained CLI tool predating the web IDE.