WebAssembly (Wasm) is a binary instruction format for a stack-based virtual machine that allows deployment of web and server applications. Wasm is not a transpiling target for JavaScript or a replacement for JS, but rather a compilation target for programming languages to enable deployment on the web. The key aspects of Wasm include its stack-based architecture, core data types like integers and floats, control flow constructs, and use of linear memory. WABT is a toolkit that helps manipulate Wasm files, allowing generation of text format (wat) from binary (wasm) and vice versa. Building a Wasm app involves understanding its architecture and using tools like WABT.