A unique, interactive terminal-styled portfolio website built with React, TypeScript, and Tailwind CSS. Experience a modern take on the classic terminal interface with smooth animations, clickable outputs, and comprehensive portfolio information.
- Interactive Terminal Interface: Full terminal emulation with command history, auto-completion, and keyboard shortcuts
- Command System: Extensive set of commands to explore portfolio information
- Clickable Outputs: Interactive elements in command outputs (projects, links, contact info)
- Responsive Design: Works seamlessly on desktop and mobile devices
- Modern UI: Beautiful animations, gradients, and smooth transitions
- Command History: Navigate through previous commands with arrow keys
- Keyboard Shortcuts:
Ctrl + L: Clear terminalCtrl + C: Clear current commandβ/β: Navigate command historyTab: Auto-completion (future feature)
- Typing Animation: Welcome banner with realistic typing effect
- Auto-focus: Terminal input automatically focuses for immediate interaction
| Command | Description |
|---|---|
help |
Show all available commands |
about |
Display personal information |
skills |
List technical skills by category |
projects |
Show featured projects with live demos |
experience |
Display work experience |
education |
Show educational background |
contact |
Display contact information |
social |
Show social media links |
resume |
Download resume/CV |
clear |
Clear terminal screen |
ls |
Alias for projects command |
pwd |
Show current "directory" |
whoami |
Display current user information |
date |
Show current date and time |
echo |
Echo back input text |
banner |
Display welcome banner |
history |
Show command history |
- Draggable Terminal Window: macOS-style window controls with minimize/maximize/fullscreen
- Dock: Animated dock with social links and project shortcuts
- Header Bar: System-style header with time, battery, and theme toggle
- Smooth Animations: Framer Motion powered animations throughout
- Dark Theme: Modern dark theme with zinc color palette
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/saikat709/terminal-portfolio.git cd terminal-portfolio -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser
http://localhost:5174/terminal-portfolio/
npm run buildnpm run deploy- Frontend Framework: React 19
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- UI Components: Radix UI
- Build Tool: Vite
- Icons: Lucide React
- Window Management: React RND
src/
βββ components/
β βββ Terminal.tsx # Main terminal component
β βββ AppsDock.tsx # Dock with social links
β βββ Header.tsx # System header bar
β βββ ui/ # Reusable UI components
βββ pages/
β βββ Home.tsx # Main page component
βββ lib/
β βββ info.ts # Portfolio data and commands
βββ types/
β βββ *.ts # TypeScript type definitions
βββ utils/
βββ *.ts # Utility functions
help # Show all commands
about # Learn about me
skills # See my technical skillsprojects # View featured projects
ls # Same as projectscontact # Contact information
social # Social media linksclear # Clear screen
history # Command history
whoami # Current user
date # Current time- Add command to
commandsobject insrc/lib/info.ts - Add case in
executeCommandfunction inTerminal.tsx - Implement render function for the command output
Edit the data in src/lib/info.ts:
- Personal information
- Skills and technologies
- Projects and experience
- Contact details
- Colors: Modify Tailwind classes in components
- Animations: Adjust Framer Motion properties
- Layout: Update component structure and CSS classes
- Unique Concept: Terminal interface for portfolio presentation
- Interactive Experience: Clickable elements and smooth animations
- Modern Tech Stack: Latest React features with TypeScript
- Responsive Design: Works on all device sizes
- Performance Optimized: Fast loading with Vite bundler
- Accessible: Keyboard navigation and screen reader friendly
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by modern terminal interfaces and portfolio websites
- Built with love for the developer community
- Special thanks to the open-source ecosystem
Made with β€οΈ by Saikat Islam