Project Summary
A fully interactive portfolio application that runs entirely in the terminal over SSH. Instead of a traditional web page, visitors connect via ssh -p 23234 hi.omerduran.dev and are greeted with an animated Matrix-style rain effect behind a styled home card — all rendered with Unicode characters in the terminal.
The app pulls content directly from my web portfolio’s API, so blog posts, projects, and work experience stay in sync without any manual updates.
Features
- Matrix Rain Animation: A background animation using half-width Katakana characters and digits with a green gradient trail effect, running at ~10 FPS.
- Full TUI Navigation: Browse blog posts, projects, work experience, and changelog entries using keyboard shortcuts (vim-style
j/knavigation). - Live Content Sync: Fetches and caches content from the web portfolio API, with automatic fallback data if the API is unreachable.
- Markdown Rendering: Blog posts and project details are rendered as styled terminal output using Glamour.
- Per-Session State: Each SSH connection gets its own independent application state and animation instance.
- Responsive Layout: Adapts to any terminal size with automatic reflow on resize.
Technologies
- Go: The entire application is written in Go.
- Wish: Charm’s SSH server library that handles SSH connections and PTY allocation.
- Bubble Tea: The TUI framework powering the Model-Update-View architecture.
- Lip Gloss: Terminal styling with Dracula theme colors, borders, and layout positioning.
- Glamour: Terminal-based Markdown rendering for rich content display.