The Case Studies section reframes a technical post-mortem as a boss-battle sequence. Under the headingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/choose-your-destiny/llms.txt
Use this file to discover all available pages before exploring further.
BOSS_BATTLES, the page opens by “reviewing combat logs for Project: NEURO_LINK” — a terminal prompt that primes visitors for a staged narrative. Six battle stages then appear one by one, each delayed 800 ms from the previous, with a NeonCard per stage containing an icon, a color-coded title, a BOSS HP progress bar that animates down to its target value as the card enters view, and a one-paragraph narrative description of that phase of the project. The sequential reveal makes the project story unfold like a cutscene rather than a static wall of text.
Route: /case-studies (hash: #/case-studies)Color theme: Neon cyan (
#22D3EE / --neon-cyan) for the page header; individual stage colors vary
The Six Battle Stages
STAGE 1: PROBLEM IDENTIFIED — 100 HP
Color: Cyan
The client needed a dashboard that could handle 10,000 concurrent WebSocket connections without melting the browser.
The client needed a dashboard that could handle 10,000 concurrent WebSocket connections without melting the browser.
STAGE 2: STRATEGY — 80 HP
Color: Purple
Decided on React with Zustand for state management, and a custom WebGL renderer for the heavy data visualizations.
Decided on React with Zustand for state management, and a custom WebGL renderer for the heavy data visualizations.
STAGE 3: BUILD — 60 HP
Color: Orange
Weeks of writing shaders, optimizing render cycles, and consuming dangerous amounts of energy drinks.
Weeks of writing shaders, optimizing render cycles, and consuming dangerous amounts of energy drinks.
STAGE 4: BUG BOSS — 30 HP
Color: Magenta
Encountered a memory leak that only happened on Safari on Tuesdays. Spent 3 days tracking down an unclosed event listener.
Encountered a memory leak that only happened on Safari on Tuesdays. Spent 3 days tracking down an unclosed event listener.
STAGE 5: VICTORY — 10 HP
Color: Lime
Deployed to production. Zero downtime. The client cried tears of joy (or maybe it was the neon colors).
Deployed to production. Zero downtime. The client cried tears of joy (or maybe it was the neon colors).
Sequential Reveal Animation
The stages use React state to drive a progressive disclosure animation. On mount, asetInterval fires every 800 ms and appends the next stage’s id to the visibleStages array. When all six stages are visible the interval clears itself:
id is in visibleStages before rendering, creating the one-by-one cinematic reveal.
HP Bar Animation
TheBOSS HP bar inside each stage card uses Framer Motion’s motion.div with conditional animation:
NEW GAME+ the boss is entirely defeated (0 HP).
Stage HP Reference
| Stage | HP | Interpretation |
|---|---|---|
| PROBLEM IDENTIFIED | 100 | Boss at full strength — threat unknown |
| STRATEGY | 80 | First hits land — a plan is forming |
| BUILD | 60 | Sustained damage — grind in progress |
| BUG BOSS | 30 | Critical phase — near defeat |
| VICTORY | 10 | Boss on its last legs |
| NEW GAME+ | 0 | Boss defeated — maintenance mode begins |
Data Structure
Customizing Case Studies
This is a pre-built static site —
assets/main.js is a minified bundle and is not meant to be hand-edited. To customize case studies, fork or clone the original source repository, make changes to the source files, then run vite build to regenerate the bundle and redeploy.Add a new case study project
Add a new case study project
Fork the original source repository. The current implementation is single-project (NEURO_LINK). To add a second project, add a project selector above the stage list in the source and conditionally render a different
ai-style array depending on the selection. Each project gets its own six-stage narrative array. Rebuild with vite build after editing.Change the stage reveal speed
Change the stage reveal speed
Fork the original source repository. The 800 ms interval value is set in the
setInterval call within the useEffect in the case studies page component source. Reduce it (e.g., 500) for a faster reveal or increase it (e.g., 1200) for a more dramatic pace. Rebuild with vite build after editing.Edit a stage's narrative text
Edit a stage's narrative text
Fork the original source repository. In the source, find the
ai array and update the desc field on the relevant stage object. The HP value, color, and title can also be adjusted per stage. Rebuild with vite build after editing.The project name
NEURO_LINK is displayed in the terminal prompt at the top of the page: "Reviewing combat logs for Project: NEURO_LINK...". If you rename the featured project, update this string in the TerminalLine component call within the case studies page component source.