guest-portfolio.dev ships with placeholder content — a fictional developer called “guest”. To make the portfolio your own, you only need to edit four component files and one utility. Each section below maps a piece of visible portfolio content to the exact file and data structure that controls it.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/guest-portfolio.dev/llms.txt
Use this file to discover all available pages before exploring further.
Replace All Demo Content
Update your bio
Edit
components/outputs/AboutOutput.js to replace the neofetch-style system stats and bio paragraphs with your own details. (jump to section)Update your skills
Edit the
c array in components/outputs/SkillsOutput.js to list your own technologies, proficiency levels, and categories. (jump to section)Update your career history
Edit the
t array in components/outputs/GitLogOutput.js to replace the fake commits with your real roles and accomplishments. (jump to section)Update your case studies
Edit the
n object in components/outputs/ManOutput.js and add matching entries in utils/fileSystem.js under case-studies/. (jump to section)Customise the boot messages
Edit the
n array in components/BootSequence.js to change the BIOS boot text shown on first load. (jump to section)Update your references log
Edit the inline JSX in
Terminal.js that renders when cat references.log is run. (jump to section)1. Bio (AboutOutput.js)
File: components/outputs/AboutOutput.js
This component renders when a visitor runs cat about.md or whoami. It displays a neofetch-style layout: ASCII art on the left (hidden on small screens) and a grid of key-value system stats on the right, followed by two bio paragraphs.
System Stats Grid
All stat values are hardcoded JSX<span> elements. Replace each one with your own information:
Bio Paragraphs
Directly below the grid, two<p> tags hold the bio text. Replace both:
ASCII Art (Optional)
The ASCII art is defined as a template literal strings at the very top of the component. Replace it with any ASCII art that represents you — generators like asciiart.eu are a good starting point:
2. Skills (SkillsOutput.js)
File: components/outputs/SkillsOutput.js
Rendered when a visitor runs ./skills.sh. Skills animate in one by one with filled progress bars.
The Skills Array
All skills are defined in thec array. Each entry is an object with three fields:
| Field | Type | Description |
|---|---|---|
name | string | Technology name displayed in the left column |
percent | number | Proficiency from 0–100; controls the filled bar length |
category | string | Must match an entry in the m array to be displayed |
Categories
Them array controls which category headers are shown and in what order:
"Databases"), append it to m and use the same string as the category value in your skill objects:
3. Career History (GitLogOutput.js)
File: components/outputs/GitLogOutput.js
Rendered when a visitor runs git log. Each role in your career is represented as a fake git commit entry, complete with a short hash, author, date, and a multi-line commit message.
The Commits Array
| Field | Type | Description |
|---|---|---|
hash | string | 7-character short hash — any alphanumeric string works |
author | string | Displayed in the Author: line; replace with your name and email |
date | string | Full date string in git log format; used for the Date: line |
message | string | Template literal — the first line is the subject, subsequent lines are the body; supports \n |
git log.
4. Case Studies (ManOutput.js)
File: components/outputs/ManOutput.js
Rendered when a visitor runs man [page]. Each case study is a full manual-page layout with NAME, SYNOPSIS, DESCRIPTION, and CHALLENGES sections written as JSX.
The Pages Object
Adding a New Case Study
-
Add a key to
ninManOutput.jsand write your JSX following the same NAME / SYNOPSIS / DESCRIPTION / CHALLENGES pattern: -
Add a matching file to the
case-studies/directory inutils/fileSystem.jsso thatls case-studiesshows the entry andman realtime-dashboardcan look it up:
man command in Terminal.js passes the argument directly to ManOutput as the page prop, which looks up n[page] to find the right JSX block.
5. Boot Sequence (BootSequence.js)
File: components/BootSequence.js
The boot sequence plays once when the page first loads, printing lines to the screen one by one before handing off to the terminal. All messages are defined in the n array of strings:
n to change the boot messages. Empty strings ("") render as blank lines. The final "Welcome to …" line is a good place to put your own OS name or tagline.
Each line is printed with a randomised delay between 50 ms and 250 ms to simulate a real BIOS POST sequence.
6. References Log (fileSystem.js + Terminal.js)
The content displayed by cat references.log is not stored in fileSystem.js — it is rendered as inline JSX directly inside the cat handler in Terminal.js. Locate the references.log branch and replace the three hardcoded log lines with your own:
<div> is one log line. The timestamp and log level prefix (INFO, WARN, ERROR) are purely cosmetic — use whatever format suits your references. Add or remove <div> entries as needed.