Uses a Linux desktop as the interface metaphor, with switchable themes for Ubuntu, Kali, and Fedora distributions
Linux-Portfolio — React Portfolio Template
By prasadkjose
A developer portfolio website themed around a Linux desktop environment, built with React and TypeScript, showcasing projects, resume, and contact information through terminal commands and window interactions.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Built-in terminal supports TAB/Ctrl+i autocompletion and up/down arrow key command history
Provides a command set including about, projects, resume, socials, email, and education
Resume changes with the distribution theme, corresponding to consulting, information security, and software development tracks
Includes a taskbar with clock, calendar, system announcements, and a widget panel
Uses Supabase for visitor statistics and session tracking, and a serverless function to proxy GitHub GraphQL requests
Template Details
This is a front-end project that turns a personal portfolio into a Linux desktop simulator. When the page loads, it presents a Linux-like desktop interface where users can switch between three distribution themes: Ubuntu, Kali, and Fedora, with the interface colors and style changing accordingly. The core interaction is a built-in terminal that supports TAB or Ctrl+i autocompletion, up and down arrow keys to browse command history, and provides commands such as about, help, projects, resume, socials, email, education, and clear to open the corresponding content. The project also offers a graphical taskbar with a clock, calendar, system announcements, and a widget panel. Resume content is tied to the distribution theme: Ubuntu corresponds to a consulting track, Kali to an information security track, and Fedora to a software development track. Technically, it uses TypeScript, React, Vite, and Styled Components, and includes Supabase database integration for visitor statistics and session tracking (according to the README, it only records visit counts and country locations, not IP addresses), as well as a serverless function that proxies GraphQL requests to store the GitHub token on the server side. The repository provides a Dockerfile for containerized deployment and includes a Netlify deployment status badge. The project is based on a fork of Kali-Linux-Hacker-Portfolio and is licensed under MIT.
Is it right for your project?
Use Cases
- Developers who want to present personal projects and resume through terminal-style interaction
- Job-seeking portfolios that need to display resumes for multiple career tracks simultaneously
- As a UI reference project for learning React, TypeScript, and Styled Components
- Running a static portfolio site in a container locally or on a server using Docker
Suitable For
- Developers with React and TypeScript basics who want to customize an existing portfolio template
- Authors of personal sites who prefer a command-line interaction style and want to highlight technical attributes
- Those who need a portfolio source code with switchable themes and resume versions as a starting point
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 16 or higher; pnpm is recommended, but npm can also be used
- 2
For local development, run pnpm install then pnpm dev, accessible by default at http://localhost:3000
- 3
Docker method: docker build -t prasad-portfolio . then run the container and map port 3000
- 4
Supabase and GitHub token related configurations need to be prepared according to the instructions in the serverless directory within the repository
- 5
Third-party assets such as demo images, fonts, and icons need their licenses checked separately; the MIT license covers only the code
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version of the public repository under the MIT license; the free scope applies to that version's code and does not imply that external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, commercially used, and distributed for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- Visitor statistics, session tracking, and data persistence rely on a Supabase PostgreSQL database; you need to register for Supabase and configure the connection yourself, which is an external service dependency.
- Fetching GitHub pinned repositories requires deploying a serverless function and configuring a GitHub token, which involves external services and API key requirements.
- The project is a fork of Kali-Linux-Hacker-Portfolio and continues from upstream code; usage must also comply with the upstream project's license and attribution requirements.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
__Supabase Database Integration__: Built-in visitor analytics, session tracking and persistent data storage using Supabase PostgreSQL database.
Original README
__Serverless Function__: A backend function proxies GraphQL API calls (GitHub fetching pinned repos for now) to keep the token server-side.
Original README
https://github.com/prasadkjose/Linux-Portfolio/blob/main/LICENSEhttps://github.com/prasadkjose/Linux-Portfolio/blob/main/README.mdThis project is based on a fork of [Kali-Linux-Hacker-Portfolio](https://github.com/jihedkdiss/Kali-Linux-Hacker-Portfolio).
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-13. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 83 / 100
- Technologies
- React
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-07-29
- Screenshot last checked
- 2026-10-13
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies React as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-13
Inspect the recorded source material
SHA-256: 0f640034860cfe86a9906ee8341ea00342514056a8921fe5cc053b34229f6f64
2026-10-13T03:23:02.450Z
Source file / repository# Linux-like Portfolio Website [](https://app.netlify.com/sites/prasadkjose/deploys) [](LICENSE) [](https://github.com/prasadkjose/Kali-Linux-Portfolio) [](https://github.com/prasadkjose/Kali-Linux-Portfolio) [](https://prasadkjose.com) My developer portfolio website themed after Linux, built with React & TypeScript, simulating a Linux desktop environment to showcase projects, resume, and contact information. ## 🚀 Features - **Linux Desktop Experience**: With Linux themes and colours. Choose between Ubuntu, Kali and Fedora distros at any time and see the UI change. - **Interactive Terminal**: Built-in Linux Terminal for you command line junkies with autocomplete (TAB/Ctrl+i) and command history (Up/Down) - **Rich Command Set**: Navigate through `about`, `help`, `projects`, `resume`, `socials`, `email`, `education`, and more - **Keyboard-First Design**: Type commands, open windows, toggle fullscreen for optimal developer experience - **Responsive Design**: Works seamlessly across desktop, tablet, and mobile devices - **Dynamic Resume**: Choose between Ubuntu, Kali, and Fedora themes to view different professional resumes - Ubuntu shows Consultant resume, Kali shows Information Security resume, and Fedora shows SDE resume - __Resource Preloading__: Critical assets are preloaded after the splash screen for faster subsequent renders. - __Supabase Database Integration__: Built-in visitor analytics, session tracking and persistent data storage using Supabase PostgreSQL database. Handles anonymous visitor metrics securely with row level security. **Tracks only visitor counts and country location, no IP addresses are stored or logged.** - __Serverless Function__: A backend function proxies GraphQL API calls (GitHub fetching pinned repos for now) to keep the token server-side. Look at [serverless/readme](src/serverless/README.md) - __Docker Support__: Dockerfile included for containerized deployment. - **Modern Taskbar**: Fully featured desktop taskbar with clock, calendar, system announcements and widget panel. See [Taskbar Documentation](src/layout/taskbar/README.md) for full details. ## 🛠️ Tech Stack [](https://www.typescriptlang.org/) [](https://reactjs.org/) [](https://vitejs.dev/) [](https://styled-components.com/) [](https://supabase.com/) ## 📦 Installation & Setup ### Prerequisites - Node.js (version 16 or higher) - pnpm (recommended) or npm ### Local Development 1. **Clone the repository:** ```bash git clone https://github.com/prasadkjose/Linux-Portfolio.git cd Linux-Portfolio ``` 2. **Install dependencies:** ```bash # Using pnpm (recommended) pnpm install # Or using npm npm install ``` 3. **Start development server:** ```bash pnpm dev ``` 4. **Open your browser:** Navigate to `http://localhost:3000` to view the portfolio ### Docker Setup For containerized development: ```bash # Build the Docker image docker build -t prasad-portfolio . # Run the container docker run -p 127.0.0.1:3000:3000 prasad-portfolio ``` ## 🎯 Usage Once the application is running, you'll be greeted with a Linux-style desktop interface. Here are some commands you can try: - `help` - Display available commands - `about` - Learn about the developer - `projects` - View featured projects - `resume` - Access the professional resume - `socials` - View social media links - `email` - Get contact information - `education` - View educational background - `clear` - Clear the terminal output ### Keyboard Shortcuts - **TAB** or **Ctrl+i** - Autocomplete commands - **Up/Down Arrow** - Navigate command history - **F11** - Toggle fullscreen mode ## 🤝 Contributing We welcome contributions! Here's how to get started: 1. **Fork the repository** on GitHub 2. **Clone your fork** locally 3. **Create a feature branch** with a descriptive name 4. **Make your changes** following our coding standards 5. **Test your changes** thoroughly 6. **Submit a pull request** with a clear description ### Development Guidelines - Use TypeScript for type safety - Follow the existing code style and patterns - Add appropriate comments for complex logic - Ensure responsive design across all screen sizes - Test in multiple browsers ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## 👥 Author **Prasad Koshy Jose** [](https://prasadkjose.com) [](https://www.linkedin.com/in/prasadkjose) [](https://x.com/prasadkjose) ## 🙏 Acknowledgements This project is based on a fork of [Kali-Linux-Hacker-Portfolio](https://github.com/jihedkdiss/Kali-Linux-Hacker-Portfolio). I would like to thank the original authors and contributors for their excellent work and for making the project open source. This fork builds upon their work with additional modifications and improvements to better showcase my professional portfolio. ## 📊 Project Statistics - **Languages**: TypeScript, React, CSS-in-JS with styled components. - **Framework**: React 17+ - **Build Tool**: Vite - **Package Manager**: pnpm (recommended) - **License**: MIT ## 🔗 Quick Links - [Live Demo](https://prasadkjose.com) - [GitHub Repository](https://github.com/prasadkjose/Linux-Portfolio) - [Issues](https://github.com/prasadkjose/Linux-Portfolio/issues) - [Pull Requests](https://github.com/prasadkjose/Linux-Portfolio/pulls) --- **Built with ❤️ using React & TypeScript**
Explore similar templates
Compare previews and descriptions within the same stack and category.

react-portfolio-template
A React-based developer portfolio template for showcasing projects, work history, and skills. It offers a multi-component layout, dark and light modes, and responsive mobile adaptation, with text and images editable in src/components.
React · Portfolio

personal-website-react
A single-page developer portfolio template built with React and Material-UI, driven by a JSON Resume-compliant resume.json. It offers light/dark theme switching with localStorage persistence, a clean responsive layout, and Create React App tooling for simple builds and static deployment.
React · Portfolio

karngyan.com
A personal website and blog template for developers, built with TanStack Start, React 19, Tailwind CSS v4, and shadcn/ui. It uses MDX for articles with Shiki highlighting and GFM tables, and automatically generates RSS, sitemap, robots.txt, llms.txt, and OG images.
React · Portfolio

react-portfolio-template
A React portfolio template by Ryan Balieiro with a fixed sidebar and page-turn transitions on desktop, bottom navigation on mobile, multilingual support, light/dark themes, and content components for experience, education, skills, projects, and testimonials.
React · Portfolio

portfolio
A data scientist personal portfolio template built with React and MUI, with content centrally managed through configuration files in the assets directory.
React · Portfolio

react-portfolio
A React 16 and Material-UI developer portfolio template that centralizes personal information in a JSON Resume-compliant resume.json, with light/dark theme switching saved to local storage. It currently provides portfolio display only; resume page templates and structured data enhancements are still planned.
React · Portfolio
