Log Portfolio is a pure static React application built with Vite. There is no backend to configure, no database to provision, and no environment variables required out of the box — clone the repo, install dependencies, and the Windows 98 desktop is running locally in under five minutes. This guide walks through every step from cloning to deploying your customized portfolio.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/log-portfolio/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you start, make sure you have the following installed:- Node.js 18 or later — Vite’s minimum supported runtime. Check with
node --version. - npm, yarn, or pnpm — any of the three work; examples for all are provided below.
- Git — to clone the repository.
Setup
This clones the project into a
log-portfolio/ directory and immediately changes into it. You should see the following top-level structure:This pulls in React 18, Vite, Framer Motion, Lucide React, and Tailwind CSS, among other dependencies declared in
package.json.Vite starts a local dev server at http://localhost:5173. Open that URL in your browser and the boot sequence plays immediately — the BIOS POST text scrolls through seventeen lines at 150 ms each (about three seconds), followed by the Windows splash loader, and then the Portfolio OS desktop appears with all six app icons ready to double-click.
The dev server supports Hot Module Replacement (HMR). Any change you make to a component file updates in the browser instantly without a full page reload or replaying the boot sequence.
Vite compiles and bundles the entire application into the
dist/ directory. The output is a fully self-contained static site — all JavaScript is split into pre-bundled module files under dist/assets/, and dist/index.html is the single entry point.Serves the
dist/ folder locally so you can verify the production build before deploying. The preview server runs on http://localhost:4173 by default.Project Structure
Understanding where things live makes customization straightforward:All component and context files under
components/ and contexts/ are compiled ES module bundles — the source of truth for what runs in the browser. The Desktop.js file is the most important to edit when personalising content: it contains the app registry array (ee) that defines every desktop icon, window title, default size, and rendered component.Deployment
Becausenpm run build produces a fully static dist/ folder with no server-side logic, you can host Log Portfolio anywhere that serves static files.
GitHub Pages
The simplest zero-cost option is GitHub Pages. After building, push the contents ofdist/ to the gh-pages branch:
https://<your-username>.github.io/log-portfolio/.
Vercel and Netlify
Both platforms auto-detect Vite projects. Connect your GitHub repository and configure:| Setting | Value |
|---|---|
| Build command | npm run build |
| Output directory | dist |
| Node.js version | 18 or later |
main and your portfolio deploys automatically.
Any Static CDN
Copy the entiredist/ directory to any object storage bucket (AWS S3, Cloudflare R2, Google Cloud Storage) configured for static website hosting. Set index.html as the default document.
The contact form in the Outlook Express app does not send real emails. When a visitor submits the form, it shows a two-second animated “Sending Message…” progress dialog and then a confirmation dialog reading “Message successfully sent to Outbox.” No email is dispatched. To add real email delivery, wire up the form’s
onSubmit handler in Desktop.js to a service like Resend, EmailJS, or a serverless function endpoint.Next Steps
Now that the dev server is running, you’re ready to make the portfolio your own. Head to the customization guide to replace the placeholder bio, project files, skills, blog content, and contact details with real information.Customize Your Content
Step-by-step instructions for updating every piece of user-facing text, project data, and skill percentages in Log Portfolio.