Skip to main content

Documentation Index

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

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

The articles.js module exports an array a of article objects that populate the Writing section of the portfolio. Each entry represents a piece of technical writing — blog post, essay, or post-mortem — and carries metadata that drives two visual components: band (UHF / VHF / HF) communicates the relative reach and engagement tier of the piece using a radio-spectrum metaphor, while signalStrength (1–5) is rendered by the SignalBars component as a column of signal-strength bars, visually similar to a mobile reception indicator.

Data Shape

type Band = "UHF" | "VHF" | "HF";
type Classification = "PERFORMANCE" | "DESIGN" | "ARCHITECTURE" | "ENGINEERING";

interface Article {
  id: string;                   // Unique identifier, e.g. "a1"
  title: string;                // Full article title
  date: string;                 // Stardate string, e.g. "STARDATE 2025.301"
  band: Band;                   // Radio band indicating engagement tier
  signalStrength: number;       // 1–5, rendered by SignalBars component
  classification: Classification; // Topic category tag
  preview: string;              // One- or two-sentence excerpt shown in the card
  content: string;              // Full article body (currently placeholder)
}
The content field in every current entry contains the placeholder string "Full transmission content would go here...". Replace this with the full article body text — or a Markdown string — before the Writing section goes live. The card preview is driven by preview, not content, so placeholder content does not affect the visible UI until a reader clicks to expand an article.

Band Classification

The band field maps to real-world radio frequency bands and signals the engagement level or intended audience of the article:
BandFull NameMeaning in Context
UHFUltra-High FrequencyHighest engagement / most widely read pieces. Reserve for flagship articles.
VHFVery High FrequencyStrong engagement — polished, broadly applicable writing.
HFHigh FrequencyGood engagement — more specialised or niche topic coverage.

Signal Strength

The signalStrength field is an integer from 1 to 5. It is rendered by the SignalBars component as a stacked bar indicator (like a Wi-Fi or cellular signal icon). Use it to indicate the perceived quality, completeness, or confidence level of the article relative to your other writing.
ValueIndicatorSuggested Use
5▮▮▮▮▮Flagship piece — fully polished, heavily revised
4▮▮▮▮▯Strong piece, minor rough edges
3▮▮▮▯▯Solid draft, some sections could be expanded
2▮▮▯▯▯Work-in-progress or narrow niche piece
1▮▯▯▯▯Early draft or stub

Current Entries

IDTitleDateBandSignalClassification
a1Optimizing React Context for High-Frequency TelemetrySTARDATE 2025.301UHF5PERFORMANCE
a2The Anatomy of a Perfect Dark ModeSTARDATE 2025.142VHF4DESIGN
a3Migrating from REST to GraphQL: A Post-MortemSTARDATE 2024.089HF3ARCHITECTURE
a4Building Resilient UIs with State MachinesSTARDATE 2024.012UHF5ENGINEERING

Adding New Entries

  1. Open data/articles.js.
  2. Append a new object to the array, following the a{n} id convention.
  3. Set date using the stardate format — see the Timeline Data page for how to calculate a stardate from a calendar date.
  4. Choose a band and signalStrength that honestly reflect the article’s reach and quality relative to the existing entries.
  5. Write a compelling preview (one to two sentences) that stands alone as a teaser.
  6. Populate content with the full article text — or a Markdown string — when the piece is ready to publish.
// data/articles.js  — append inside the array
{
  id: "a5",
  title: "Why I Stopped Writing Custom Hooks for Everything",
  date: "STARDATE 2025.188",
  band: "VHF",
  signalStrength: 4,
  classification: "ENGINEERING",
  preview:
    "Custom hooks are powerful, but they can become a crutch that obscures "
    + "simple component logic. Here is when to reach for them — and when not to.",
  content: `
## The Problem With Hook Abstraction

Custom hooks are one of React's most elegant features...
  `.trim(),
}
Write the preview before you write the full article. A preview that stands alone as a compelling one-liner helps you stay focused on the core thesis of the piece.

Field Reference

id
string
required
Unique identifier for the article. Follow the a{n} pattern (e.g. "a1", "a5") to keep ordering explicit and stable.
title
string
required
Full display title of the article, rendered as the card heading. Sentence case is preferred for readability.
date
string
required
Publication date expressed as a stardate string, e.g. "STARDATE 2025.301". See the Timeline Data page for the YYYY.DDD format breakdown.
band
"UHF" | "VHF" | "HF"
required
Radio band classification that signals the engagement tier of the article. "UHF" is the highest (most widely read), "HF" is the most specialised. See the Band Classification table above for guidance on choosing a value.
signalStrength
number
required
Integer from 1 to 5 rendered by the SignalBars component. Reflects the perceived quality and completeness of the article. 5 is a fully polished flagship piece; 1 is a stub or early draft.
classification
"PERFORMANCE" | "DESIGN" | "ARCHITECTURE" | "ENGINEERING"
required
Topic category tag displayed on the article card and used for filtering:
  • PERFORMANCE — Speed, optimisation, profiling, benchmarking.
  • DESIGN — UI/UX, visual design, accessibility, motion.
  • ARCHITECTURE — System design, API contracts, data modelling.
  • ENGINEERING — General engineering practices, tooling, patterns.
preview
string
required
One or two sentences shown on the article card as a teaser. Should be self-contained and compelling enough to entice a click without requiring context from the full article.
content
string
required
Full article body. Currently contains the placeholder string "Full transmission content would go here..." for all entries. Replace with the complete article text (plain text or Markdown string) before publishing.

Build docs developers (and LLMs) love