What is Arman’s Living Room?
Arman’s Living Room is a personal portfolio website that reimagines the traditional personal homepage with an interactive, terminal-inspired interface. Instead of clicking through navigation menus, visitors can use Unix-like commands to explore content, creating a unique and memorable experience.The website offers both a CLI (Command Line Interface) and a Windows 98-inspired GUI alternative for different browsing preferences.
Key Features
Interactive CLI Interface
The main interface mimics a Unix terminal where visitors can:- Execute commands like
ls,cat,cd,whoami - Read files using
cat experience.txtorcat socials.txt - Navigate to sections using
cd thoughts - Create and remove files with
touchandrmcommands - Access the GUI alternative with
./gui.app
Retro GUI Alternative
For users who prefer a graphical interface, the site includes a Windows 98-style desktop environment featuring:- Draggable and resizable windows
- Desktop icons and taskbar
- Notepad-style text viewers
- Retro aesthetic with authentic Win98 styling
- Accessible at
/guiand/desktoproutes
Personal Content Sections
- Profile Information: Introduction, location, and current work
- Experience: Work history and internship details
- Social Links: Twitter, GitHub, LinkedIn connections
- Thoughts: Personal blog with long-form writing
- Dynamic Content: Fun Easter eggs like random cat images
- Talk Page (currently disabled): Anonymous message submission form at
/talk
Tech Stack
The project is built with modern web technologies:Frontend Framework
package.json
- Next.js 16: Latest version with App Router for modern React patterns
- React 19: Cutting-edge React features and performance improvements
- TypeScript: Full type safety across the codebase
Styling & UI
- Tailwind CSS 4: Utility-first CSS with latest v4 features
- Geist Mono Font: Clean, monospace typography for the terminal aesthetic
- Lucide React: Icon library for UI elements
- Dark Mode: Dark theme with
#0f0f0fbackground for reduced eye strain
Backend & Data
- Supabase: Backend-as-a-service for data storage and authentication
- @supabase/ssr: Server-side rendering support for Supabase
- Server Components: Leveraging Next.js 16 server component architecture
Project Structure
The codebase follows Next.js 16 App Router conventions:Design Philosophy
The website embraces several key design principles:- Interactive Experience: Users actively explore rather than passively scroll
- Nostalgic Aesthetic: Terminal and Windows 98 interfaces evoke computing history
- Technical Showcase: The implementation itself demonstrates development skills
- Playful Design: Easter eggs and fun interactions create memorable moments
- Accessibility Options: Multiple interfaces (CLI + GUI) accommodate different preferences
Core Implementation
The CLI component at the heart of the experience (src/components/cli.tsx:54) handles:
- Command parsing and execution
- File system simulation with virtual files
- Command history (Arrow Up to recall last command)
- Auto-scrolling to latest output
- Error handling for invalid commands
The CLI supports 11 built-in commands including
whoami, ls, help, cd, cat, clear, touch, rm, reset, and executable apps like ./gui.app.experience.txt, socials.txt, and a thoughts directory.