Skip to main content

Documentation Index

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

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

The Projects page presents each portfolio piece as a classified operational case file. Every project card displays a codename, an operational status badge (SHIPPED, ACTIVE, HAUNTED, or DORMANT), a list of tech-stack tags, and a set of action links that can point to a live demo, source repository, or a full case study writeup at /case-studies/:id. The dossier framing means even abandoned or legacy projects are never simply “old work” — they are filed as hauntings or dormant operations.

Route

The Projects page is served at /#/projects. The static shell for direct linking is data/projects.html.

Project Entries

TitleCodenameStatusTech Stack
Specter AnalyticsGHOST-TRACKSHIPPEDReact, TypeScript, Recharts, Node.js
Nexus SyncVOID-BRIDGEACTIVERust, WebSockets, Redis, React
Legacy API WrapperNECROMANCERHAUNTEDPython, FastAPI, SOAP, GraphQL
Terminal PortfolioECHO-DIRDORMANTVue, CSS Variables, Vite

Status Definitions

StatusMeaning
SHIPPEDProject is live and actively maintained
ACTIVECurrently in development
HAUNTEDTechnically functional but carrying significant legacy debt
DORMANTDevelopment paused; archived for reference

Project Data Shape

Each entry in data/projects.js conforms to the following TypeScript-equivalent interface:
interface Project {
  id: string;
  title: string;
  codename: string;
  status: 'SHIPPED' | 'ACTIVE' | 'HAUNTED' | 'DORMANT';
  tech: string[];
  description: string;       // Short card summary
  fullDescription: string;   // Long-form case study body
  links: {
    demo?: string;
    source?: string;
    writeup?: string;        // Points to /case-studies/:id
    readme?: string;
  };
  dataSource: 'LIVE' | 'SAMPLE' | 'MOCKED';
}
The dataSource field indicates whether the project’s metrics or visualisations are drawn from a real backend (LIVE), seeded sample data (SAMPLE), or entirely mocked (MOCKED). It is rendered as a secondary ClassificationStamp badge on each card, distinct from the operational status badge.

Components Used

ClassificationStamp

Renders two badges per project card: one for the operational status and one for the dataSource. Each variant maps to a distinct color in the stamp palette.

TabDivider

Used as a styled section header above the project card grid.
To link a project to its case study, set links.writeup to /case-studies/:id where :id matches the case study’s id in data/caseStudies.js.

Build docs developers (and LLMs) love