Personal portfolio website built with Rust, Ratatui, and Ratzilla using the WebGL2 backend.
- Terminal-style portfolio UI rendered in the browser
- Bilingual support (English and Portuguese)
- Project grid with keyboard navigation
- Open selected project repository with
Enter - Contact shortcuts for GitHub, LinkedIn, email, and website
- Rust (Edition 2024)
- Ratzilla (
WebGl2Backend) - Ratatui
- Trunk (WASM build and dev server)
- Rust toolchain (stable)
wasm32-unknown-unknowntarget- Trunk
rustup target add wasm32-unknown-unknown
cargo install trunk --lockedtrunk serveOpen http://localhost:8080.
trunk build --releaseLeft/Rightorh/l: switch tabs1,2,3: go to Home, Projects, Let's TalkUp/Downorj/k: change selected projectEnter: open selected project repositoryT: switch language (EN/PT-BR)M/G/I/Won Let's Talk: open email/GitHub/LinkedIn/website
CI runs on every push and pull request in a single workflow file (.github/workflows/ci.yml) with separate jobs:
Lint: formatting and clippy checksCheck: compile verification (cargo check)Test: unit/integration tests (cargo test --all-targets)Web Build: release web build with Trunk and dist artifact uploadDependency Audit: dependency audit withcargo audit