Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/y2k-webring/llms.txt

Use this file to discover all available pages before exploring further.

The Projects page (/#/projects) renders a card grid sourced from portfolioData.projects (P export). Each project gets its own BorderedPanel card displaying the stack, a status badge, description, and action links.

Project schema

FieldTypeDescription
idstringUnique identifier (e.g. "proj-1")
namestringDisplay name (e.g. "Grimoire.js")
stackstring[]Tech stack tags rendered as PillTag badges
statusstringOne of the three badge values below
descriptionstringShort prose description of the project
dataSourcestring"live", "mocked", or "sample"
demoUrlstringLink to live demo
sourceUrlstringLink to source repository
readmeUrlstringLink to README

Status badges

BadgeMeaning
✦ shippedCompleted and deployed
✦ in-progressActively under development
✦ hauntedLegacy project maintained out of necessity

dataSource flag

The dataSource field signals what kind of data the project is running against — useful for distinguishing live demos from placeholders:
  • live — connected to real APIs or databases
  • mocked — running against mock/stub data
  • sample — using hardcoded sample content

Sample projects

Grimoire.js

Stack: React, TypeScript, WebGL · ✦ shipped · dataSource: live — A digital spellbook for managing code snippets with a 3D particle interface.

Neon_Bazaar

Stack: Next.js, Stripe, Tailwind · ✦ in-progress · dataSource: mocked — An e-commerce platform for digital artifacts.

Legacy_System_04

Stack: PHP, jQuery, MySQL · ✦ haunted · dataSource: sample — An old client project that refuses to die.

Adding a new project

Append an object to the projects array in data/portfolioData.js:
// data/portfolioData.js
{
  id:          "proj-4",
  name:        "My_New_Project",
  stack:       ["React", "Supabase"],
  status:      "✦ in-progress",
  description: "A brief description of what this project does.",
  dataSource:  "live",
  demoUrl:     "https://example.com",
  sourceUrl:   "https://github.com/you/repo",
  readmeUrl:   "https://github.com/you/repo#readme",
}
Keep description to one or two sentences — the card layout truncates longer text on smaller viewports.

Build docs developers (and LLMs) love