The About page reframes a developer biography as a guided walk through a graveyard. Each career milestone is a tombstone card planted along a glowing vertical timeline. As visitors scroll down the page, the cards animate into view from the left, giving the impression of unearthing the past one headstone at a time. The section title — Graveyard Tour — is rendered in the signatureDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/spooky-developer/llms.txt
Use this file to discover all available pages before exploring further.
haunt-moon teal, and each card bears a faint RIP watermark in the background so the theme stays consistent down to the fine print.
Timeline Entries
The five milestones are defined in theTIMELINE constant array inside assets/main.js. They appear in chronological order from top to bottom on the page.
| Year | Title | Description |
|---|---|---|
199X | Summoned | Born into this realm, immediately fascinated by glowing rectangles. |
2010 | First Hello World | Wrote a script. It lived. It was terrifying and beautiful. |
2015 | The Great Outage | Dropped a production database. Survived the haunting that followed. |
2020 | Master of React | Learned to control the state, though sometimes it still controls me. |
Present | Seeking New Haunts | Looking for a new team to build spooky good products with. |
Tombstone Card Design
Each card is styled to look like a tombstone using a combination of Tailwind border-radius utilities:rounded-t-fullcreates the arched top of a tombstone.rounded-b-lgkeeps the base rectangular.border-t-8 border-haunt-tombstoneDarkthickens the arch for visual weight.hover:-translate-y-2gives each card a subtle rise on hover.
Timeline Layout
The vertical timeline is a left-bordered container with glowing dot markers at each entry:−14 px to sit exactly on the border line, and its box-shadow produces the cyan glow.
Scroll-Triggered Animations
Every card uses Framer Motion’swhileInView prop so the animation fires only when the element enters the viewport — not all at once on page load.
| Property | Value | Effect |
|---|---|---|
initial | {opacity:0, x:-50} | Card starts invisible and 50 px to the left |
whileInView | {opacity:1, x:0} | Slides in and fades up when scrolled into view |
viewport.once | true | Animation plays once; does not replay on scroll-up |
viewport.margin | '-100px' | Triggers 100 px before the element fully enters the viewport |
delay | index × 0.1 s | Each card staggers 100 ms later than the previous one |
Adding or Editing Timeline Entries
All milestone data lives in theTIMELINE array near the top of assets/main.js. Edit existing entries in place, or append new objects to the array to add more milestones:
| Field | Type | Description |
|---|---|---|
year | string | Displayed as the large pumpkin-orange header on the card. Use any label — '199X', '2023', 'Present', etc. |
title | string | Rendered below the year in teal bold text. |
desc | string | Body copy shown in haunt-bone/80 — aim for one or two sentences. |
The timeline renders entries in array order from top to bottom. There is no automatic date sorting — arrange the objects in the order you want them to appear on screen.