The Projects page presents the portfolio’s work as a Windows-style file explorer. Projects are displayed as folder icons in a filterable grid. Clicking any icon opens a detail panel on the right showing the project description, tech stack badges, a sample-data warning when applicable, and three action buttons. The entire interface lives inside a singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/neocities-dev/llms.txt
Use this file to discover all available pages before exploring further.
WindowPanel titled C:\My Files\Projects.
What’s on this page
Filter Tabs
Five tab buttons sit above the file grid, separated by a bottom border. The active tab receives a filledbg-y2k-cyan style with an inset shadow; inactive tabs show a dimmer panel color. Tabs are scrollable horizontally on small screens.
| Tab Label | Projects Shown |
|---|---|
| All Files | All 5 projects |
| Web | NeoDashboard.exe, Guestbook_API.sys |
| Data | DataScraper.bat |
| Tools | PixelUI_Kit.dll |
| Demos | SpaceInvaders.exe |
Project File Grid
Filtered projects are displayed as a responsive grid of folder icons (grid-cols-2 sm:grid-cols-3 lg:grid-cols-4). Each icon is a pixel-art SVG in y2k-cyan, with the filename in 12px monospace below.
Selecting a project highlights it with a border-y2k-magenta bg-y2k-magenta/10 border and populates the detail panel. Unselected items show border-transparent with a hover state.
Project Catalogue
All five projects are defined as a static array in the source. The full list:| Name | Type | Tech Stack | Sample Data |
|---|---|---|---|
| NeoDashboard.exe | Web | React, Tailwind, Zustand | ✅ Yes |
| DataScraper.bat | Data | Python, BeautifulSoup | ❌ No |
| PixelUI_Kit.dll | Tools | TypeScript, CSS | ❌ No |
| Guestbook_API.sys | Web | Node.js, Express, Redis | ✅ Yes |
| SpaceInvaders.exe | Demos | HTML5 Canvas, JS | ❌ No |
| Name | Description |
|---|---|
| NeoDashboard.exe | A modern admin dashboard with a retro skin. |
| DataScraper.bat | CLI tool for extracting structured data from messy sites. |
| PixelUI_Kit.dll | A component library for building 90s inspired interfaces. |
| Guestbook_API.sys | REST API for classic guestbooks with modern rate limiting. |
| SpaceInvaders.exe | Canvas-based clone of the classic arcade game. |
The file extensions in project names (
.exe, .bat, .dll, .sys) are purely aesthetic — a nod to Windows executable naming conventions, not actual file types. Each extension loosely corresponds to the project category.Detail Panel
When a project is selected, a 320px-wide (w-80) right-side detail panel appears with:
- Header — project name in
y2k-cyanpixel font, type in 10px monospace below. - Placeholder image — a 128px-tall decorative block using a CSS grid pattern overlay with rotated/blended magenta and cyan rectangles.
- Description — one-sentence project description in
font-sans text-sm. - Tech stack badges — each technology rendered as a bordered pill in
font-mono text-[10px]. - Sample data warning — shown only when
sampleData: true; lime text on a lime-tinted background. - Action buttons — three
PixelButtoncomponents:Run Demo(primary),View Source(secondary),README.txt(secondary).
"Select a file to view details." in muted monospace.
The two projects marked
sampleData: true (NeoDashboard.exe and Guestbook_API.sys) display a lime-colored advisory banner in the detail panel. This communicates to visitors that any live demo is running against mock/seeded data rather than real production data.Layout Structure
- Outer:
h-full flex flex-col max-w-6xl mx-auto - Single WindowPanel titled
C:\My Files\Projectsfills the content area (flex-1 flex flex-col) - Filter tabs — horizontal scrollable row above the main content split
- Main split —
flex flex-col md:flex-row gap-6 flex-1 min-h-0- Left: responsive icon grid (
flex-1,overflow-y-auto) - Right: fixed-width detail panel (
w-full md:w-80)
- Left: responsive icon grid (