TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/sys-witch/llms.txt
Use this file to discover all available pages before exploring further.
projects.js data file is the single source of truth for all content rendered on the Projects page. It exports a named array (p) of project objects, each consumed directly by the ProjectPanel component to render a card complete with a header image, tech-stack badge row, body copy, and one or more action links. Editing this file is the only step required to add, remove, or update a project entry — no component changes are needed.
Location: data/projects.js
Data Shape
Each element in the array conforms to the following shape. Fields marked optional may be omitted entirely when not applicable.Field Reference
A URL-safe slug that uniquely identifies the project, e.g.
"void-tracker". Used as a React list key and may be referenced by other data files (such as caseStudies.js). Must be lowercase, hyphen-separated, and unique across the array.The project display name rendered in the card heading. The
ProjectPanel component forces this to ALL CAPS using the display font. Write it in whatever casing feels natural — the style layer handles the transformation.A short paragraph of body copy shown inside the card below the tag row. Aim for one to three sentences that capture what the project does and why it exists.
An ordered list of technology names rendered as badge chips on the card. Keep each tag concise (one word or a short abbreviation). There is no enforced maximum, but four to five tags is the practical visual limit before the row wraps awkwardly.
A fully-qualified HTTPS image URL used as the
object-cover card header image. Unsplash URLs with auto=format&fit=crop&q=80&w=800 query parameters are the established convention in this project, but any hosted image URL works.An optional URL to a live deployment or hosted demo. When present,
ProjectPanel renders a Live Demo action button. Use "#" as a placeholder while a deployment is pending.An optional URL to the source repository (GitHub, GitLab, etc.). When present,
ProjectPanel renders a Source action button.An optional direct link to the project README. When present,
ProjectPanel renders a README action button alongside any other action links.An optional short annotation displayed as a footer line in the card — used for caveats, disclaimers, or flavour text about the project’s runtime behaviour.
Current Projects
The four projects currently defined indata/projects.js:
Adding a Project
Append a new object to the end of the exported array. Provide at minimum the five required fields (id, title, description, tags, image). Omit any optional fields that are not yet applicable.
Removing a Project
Delete the corresponding object from the array. If any entry indata/caseStudies.js references the project’s id in its sigilId field, update or remove that reference as well to avoid a broken icon lookup.
Image URL Guidelines
All
image values must be fully-qualified HTTPS URLs. HTTP URLs will be blocked by the browser’s mixed-content policy when the site is served over HTTPS. Unsplash source URLs with ?auto=format&fit=crop&q=80&w=800 are the recommended convention and match the aspect ratio expected by the card header.