Termfolio: An Interactive Terminal Portfolio
Termfolio is an interactive terminal-themed portfolio website. Instead of scrolling through cards and sections, visitors navigate a virtual filesystem using real shell commands. Every project, blog post, and piece of content is a file or directory you can cd into, ls, and cat.
The terminal isn't a gimmick. It's a full shell implementation with tab completion, command history, line editing,
and URL-based routing. Visit termfolio.solomonneas.dev/projects and it automatically runs
cd projects && ls. The whole thing is a React app with xterm.js doing the heavy lifting on rendering.
Try it yourself. Type help to get started.
This project is open source and available on GitHub
React application with a custom shell implementation running on xterm.js:
Component architecture for terminal UI, virtual filesystem state management, and URL-based routing that maps browser paths to shell commands
Full-featured terminal rendering with FitAddon for responsive sizing, WebLinksAddon for clickable URLs, and raw keystroke handling for shell line editing
In-memory filesystem tree with directories, files, and symlinks. All portfolio content (projects, blog posts, dotfiles) lives as navigable files
Raw terminal color codes for syntax highlighting, status indicators, and themed output. Multiple color themes with real-time switching
ls [-l] [-a] [path]List directory contentscd [path]Change directorypwdPrint working directorytree [path]Display directory treecat <file>Display file contentsgrep <pattern> [path]Search for patternshead / tailView file start/endhelpShow all commandswhoamiDisplay user infohistoryCommand historyman <cmd>Command manual???Try sudo, cowsay, fortune, matrix...???12+ hidden commands to find???Explore the dotfiles- React 19 component architecture
- TypeScript strict mode
- Vite build pipeline
- Responsive terminal rendering
- xterm.js integration
- Raw keystroke handling
- ANSI escape sequence rendering
- FitAddon responsive sizing
- Command registry pattern
- Tab completion engine
- History navigation
- Virtual filesystem traversal
- URL-to-shell routing
- Easter egg design
- Theme system
- ANSI art rendering
- ✓ Full shell with line editing and history
- ✓ Tab completion for commands and paths
- ✓ Virtual filesystem with all portfolio content
- ✓ URL-based routing to shell commands
- ✓ Multiple color themes
- ✓ 12+ easter eggs and hidden commands
- ✓ Responsive terminal with FitAddon
- ✓ Deployed to termfolio.solomonneas.dev