Retro Terminal Portfolio (Placeholder)
A nostalgic command-line interface portfolio built with modern web technologies.
Retro CLI-inspired portfolio with responsive CRT styling and MDX-powered command outputs.

Quick Stats
Links
Retro Terminal Portfolio
Final polish is underway—treat the walkthrough below as an early snapshot while I wrap the refreshed write-up.
The Retro Terminal Portfolio reimagines a developer homepage as an interactive command-line session. Visitors can browse projects and learn about my background by typing familiar terminal commands.
Concept
Recreating the feeling of exploring a vintage computer while keeping the experience fast, accessible, and responsive.
The interface leans into authentic CRT styling—scanlines, phosphor bloom, and subtle curvature—while remaining fully responsive and keyboard-driven.
Features
- Tab-completable command palette with fuzzy matching
- Rich command responses rendered with MDX
- Dynamic ASCII art generated at build time
- Persistent command history across page reloads
Implementation

The terminal layer uses a custom parser that maps command strings to React components. Zustand stores command history and prompt state, while CSS custom properties power dynamic theming transitions.
The command parser is intentionally declarative. Each command registers the React element it should render, which keeps rendering and parsing responsibilities separate.
const commands = {
help: () => <HelpOutput />,
about: () => <AboutSection />,
projects: () => <ProjectsTable />,
}
- Parse raw input
- Resolve command + arguments
- Render mapped React component
Lessons Learned
Building the CRT effect entirely with CSS filters avoided the performance overhead of canvas shaders, and progressive enhancement kept the experience accessible on assistive technologies.
Interfaces become memorable when aesthetics and interaction design reinforce each other.


I also produced a companion voice-acting reel inspired by the terminal aesthetic:
Have thoughts?
Curious what others see or think
Feel free to reach out or leave feedback
Share FeedbackPrefer email? joshuatjhie@pm.me