Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/full-stack-sorcerer/llms.txt

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

The /skills route, titled “Tricks of the Trade”, presents the developer’s technical toolkit through a playful reveal mechanic. On page load you see a large illustrated magic hat sitting on a misty stage floor. Skills are hidden inside it until you click — at that moment each skill explodes upward as a glowing ghost-shaped bubble, drifting to a randomized position on screen. The bubbles are fully draggable, so you can grab any one and fling it around the viewport. Each bubble is sized proportionally to the skill’s proficiency level and colored to reflect its category.

Skills

SkillCategoryProficiency
TailwindFrontend95%
ReactFrontend90%
Framer MotionFrontend85%
TypeScriptFrontend85%
Node.jsBackend80%
PostgreSQLBackend75%
FigmaDesign70%

Category Color Coding

Each skill bubble glows with a distinct color that signals its category at a glance:
CategoryGlow ColorDescription
frontendTurquoise (#3fd6c0)UI technologies — React, TypeScript, Tailwind, Framer Motion
backendBlue (#60a5fa)Server-side technologies — Node.js, PostgreSQL
designOrange (#f59e0b)Design tooling — Figma

Interactive Magic-Hat Experience

1

Visit /skills

Navigate to the /skills route. You’ll see the “Tricks of the Trade” heading, a misty stage floor, and a large illustrated magic hat. A WandSparkles icon pulses above the hat and the label reads “Click the hat”.
2

Click the magic hat

Click the hat to trigger the reveal. All seven skill bubbles are created simultaneously and launched with a Framer Motion spring animation — each flying to a randomized x/y position on the screen with a staggered 0.1s delay per bubble.
3

Watch the bubbles float

Once positioned, every bubble enters a continuous floating loop (y: 0 → -10 → 0). Bubble size scales with proficiency level (scale = level / 80), so a 95% skill appears noticeably larger than a 70% skill.
4

Drag the bubbles around

Each ghost bubble is a Framer Motion drag element with horizontal constraints of ±300px and vertical constraints of -400px to +100px. Grab any bubble and drag it freely within those bounds. The cursor changes to a grab hand on hover and a closed fist while dragging.

Adding a New Skill

Extend the skills array in assets/main.js with a new object following this shape:
{ name: "GraphQL", category: "backend", level: 78 }
FieldTypeAllowed valuesPurpose
namestringAnyLabel shown beneath the ghost bubble.
categorystring"frontend" · "backend" · "design"Controls the glow color of the bubble.
levelnumber0 – 100Proficiency percentage; also scales bubble size (scale = level / 80).
After the magic hat is clicked, every skill bubble is draggable. Try grabbing a bubble and flinging it to the edge of the screen — the spring physics on the drag release make it bounce back satisfyingly within its constraints. If you want to extend the drag area, adjust the dragConstraints values in the X component inside main.js.

Build docs developers (and LLMs) love