[
  {
    "id": "fvk-001",
    "title": "Foundations: Casting On with Confidence",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 6,
    "price": 49,
    "format": "Self-paced",
    "rating": 4.8,
    "reviews_count": 412,
    "badge": "Popular",
    "short_description": "Master tension, long-tail cast on, and a clean first row.",
    "long_description": "A structured start for absolute beginners. Learn yarn handling, tension diagnostics, long-tail cast on, knitted cast on, and establishing the first row without twisted stitches.",
    "skills": ["tension control", "long-tail cast on", "knitted cast on", "first row setup"]
  },
  {
    "id": "fvk-002",
    "title": "Knit & Purl Mechanics",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 7,
    "price": 59,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 358,
    "badge": null,
    "short_description": "Learn the two core stitches and how to keep edges neat.",
    "long_description": "Break down knit and purl with anatomy diagrams, edge management, and ribbing swatches to build even fabric with predictable gauge.",
    "skills": ["knit stitch", "purl stitch", "edge control", "ribbing"]
  },
  {
    "id": "fvk-003",
    "title": "Gauge & Swatching Clinic",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 5,
    "price": 45,
    "format": "Self-paced",
    "rating": 4.9,
    "reviews_count": 521,
    "badge": "Editor’s pick",
    "short_description": "Confidently measure, block, and match pattern gauge.",
    "long_description": "Learn to produce reliable swatches, block them correctly, and interpret results to adjust needle size and fabric density.",
    "skills": ["swatching", "blocking", "measurement", "gauge math"]
  },
  {
    "id": "fvk-004",
    "title": "Reading Patterns & Charts",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 6,
    "price": 55,
    "format": "Self-paced",
    "rating": 4.6,
    "reviews_count": 244,
    "badge": null,
    "short_description": "Decode abbreviations and chart symbols with ease.",
    "long_description": "A literacy-first approach to abbreviations, repeats, and chart orientation. Includes practice drills and error recovery.",
    "skills": ["abbreviations", "chart reading", "repeats", "error recovery"]
  },
  {
    "id": "fvk-005",
    "title": "First Hat: In the Round",
    "level": "Beginner",
    "category": "Garments",
    "duration_hours": 8,
    "price": 69,
    "format": "Live",
    "rating": 4.7,
    "reviews_count": 188,
    "badge": "New",
    "short_description": "Your first circular project with clean decreases.",
    "long_description": "Work with circular needles, manage joins, track rounds, and shape a crown that lies flat.",
    "skills": ["circular knitting", "magic loop", "decreases", "finishing"]
  },
  {
    "id": "fvk-006",
    "title": "Sweater Fit Fundamentals",
    "level": "Intermediate",
    "category": "Garments",
    "duration_hours": 12,
    "price": 129,
    "format": "Mentor-guided",
    "rating": 4.8,
    "reviews_count": 302,
    "badge": "Popular",
    "short_description": "Measurements, ease, and shaping for predictable results.",
    "long_description": "Measure accurately, select sizes, and modify patterns for body shape. Practice yoke, raglan, and set-in sleeve planning.",
    "skills": ["fit", "ease", "shaping", "construction planning"]
  },
  {
    "id": "fvk-007",
    "title": "Cables: Texture Lab",
    "level": "Intermediate",
    "category": "Texture",
    "duration_hours": 9,
    "price": 89,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 197,
    "badge": null,
    "short_description": "Cross, twist, and track complex cables with clarity.",
    "long_description": "Learn cable notation, using or skipping a cable needle, and chart tracking with lifelines.",
    "skills": ["cable charts", "lifelines", "twists", "texture planning"]
  },
  {
    "id": "fvk-008",
    "title": "Lace Engineering",
    "level": "Intermediate",
    "category": "Texture",
    "duration_hours": 10,
    "price": 95,
    "format": "Self-paced",
    "rating": 4.6,
    "reviews_count": 164,
    "badge": null,
    "short_description": "YO, decreases, and blocking for crisp motifs.",
    "long_description": "Master yarn overs with balanced decreases and tension strategies that prevent biasing. Includes blocking procedures for drape.",
    "skills": ["yarn over", "ssk/k2tog", "chart reading", "blocking lace"]
  },
  {
    "id": "fvk-009",
    "title": "Stranded Colorwork Basics",
    "level": "Beginner",
    "category": "Colorwork",
    "duration_hours": 8,
    "price": 79,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 221,
    "badge": "Popular",
    "short_description": "Floats, dominance, and tidy color changes.",
    "long_description": "Build confidence with two-color knitting, float management, and color dominance for clean motifs.",
    "skills": ["floats", "color dominance", "chart reading", "tension"]
  },
  {
    "id": "fvk-010",
    "title": "Brioche Essentials",
    "level": "Intermediate",
    "category": "Texture",
    "duration_hours": 7,
    "price": 85,
    "format": "Self-paced",
    "rating": 4.5,
    "reviews_count": 132,
    "badge": null,
    "short_description": "Single- and two-color brioche with decreases.",
    "long_description": "Understand brioche stitch anatomy, set up rows, common errors, and shaping in brioche fabric.",
    "skills": ["brioche", "decreases", "two-color", "error fixing"]
  },
  {
    "id": "fvk-011",
    "title": "Speed & Efficiency",
    "level": "Advanced",
    "category": "Efficiency",
    "duration_hours": 6,
    "price": 99,
    "format": "Mentor-guided",
    "rating": 4.6,
    "reviews_count": 118,
    "badge": null,
    "short_description": "Ergonomics and motion economy for faster, kinder knitting.",
    "long_description": "Reduce strain and improve throughput with posture, hand positioning, and rhythm drills. No performance guarantees.",
    "skills": ["ergonomics", "motion economy", "posture", "rhythm"]
  },
  {
    "id": "fvk-012",
    "title": "Seamless Raglan Workshop",
    "level": "Intermediate",
    "category": "Garments",
    "duration_hours": 11,
    "price": 115,
    "format": "Live",
    "rating": 4.7,
    "reviews_count": 156,
    "badge": "New",
    "short_description": "Top-down construction with controlled shaping.",
    "long_description": "Plan and knit a raglan sweater with neckline, yoke math, and sleeve tapering for balanced fabric.",
    "skills": ["raglan", "shaping", "yoke math", "finishing"]
  },
  {
    "id": "fvk-013",
    "title": "Toe-Up Socks Clinic",
    "level": "Intermediate",
    "category": "Garments",
    "duration_hours": 8,
    "price": 89,
    "format": "Self-paced",
    "rating": 4.6,
    "reviews_count": 144,
    "badge": null,
    "short_description": "From cast on to grafting with precise fit.",
    "long_description": "Judy’s Magic Cast On, heel options, and toe/heel shaping for durable socks.",
    "skills": ["toe-up", "heel flap", "short rows", "kitchener stitch"]
  },
  {
    "id": "fvk-014",
    "title": "Chart Literacy Masterclass",
    "level": "Advanced",
    "category": "Design",
    "duration_hours": 9,
    "price": 109,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 127,
    "badge": "Editor’s pick",
    "short_description": "Translate charts into predictable fabric behavior.",
    "long_description": "Advanced chart conventions, symbol sets, and how to predict fabric outcomes before casting on.",
    "skills": ["chart analysis", "fabric prediction", "symbol systems"]
  },
  {
    "id": "fvk-015",
    "title": "Steeking without Fear",
    "level": "Advanced",
    "category": "Colorwork",
    "duration_hours": 6,
    "price": 95,
    "format": "Self-paced",
    "rating": 4.5,
    "reviews_count": 103,
    "badge": null,
    "short_description": "Reinforce and cut with control.",
    "long_description": "Plan and reinforce steeks safely, test on swatches, and finish edges cleanly.",
    "skills": ["steek planning", "reinforcement", "finishing edges"]
  },
  {
    "id": "fvk-016",
    "title": "Lifelines & Error Recovery",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 4,
    "price": 39,
    "format": "Self-paced",
    "rating": 4.8,
    "reviews_count": 215,
    "badge": null,
    "short_description": "Practical safety nets for fearless practice.",
    "long_description": "Insert lifelines, read fabric, and correct common mistakes without starting over.",
    "skills": ["lifelines", "fixing mistakes", "fabric reading"]
  },
  {
    "id": "fvk-017",
    "title": "Professional Finishing",
    "level": "Intermediate",
    "category": "Garments",
    "duration_hours": 7,
    "price": 92,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 176,
    "badge": "Popular",
    "short_description": "Seams, blocking, and edges that pass inspection.",
    "long_description": "Whipstitch vs mattress, blocking routines, neckbands, and button bands with consistency.",
    "skills": ["seaming", "blocking", "edges", "quality control"]
  },
  {
    "id": "fvk-018",
    "title": "Color Theory for Knitters",
    "level": "Intermediate",
    "category": "Colorwork",
    "duration_hours": 6,
    "price": 79,
    "format": "Self-paced",
    "rating": 4.6,
    "reviews_count": 119,
    "badge": null,
    "short_description": "Choose palettes that read clearly in fabric.",
    "long_description": "Contrast, saturation, and value for motifs that remain legible at a distance.",
    "skills": ["contrast", "palette selection", "swatch testing"]
  },
  {
    "id": "fvk-019",
    "title": "Designing from Swatch",
    "level": "Advanced",
    "category": "Design",
    "duration_hours": 10,
    "price": 129,
    "format": "Mentor-guided",
    "rating": 4.6,
    "reviews_count": 88,
    "badge": null,
    "short_description": "Turn experiments into knitwear plans.",
    "long_description": "Iterate on swatches, document behavior, and translate to schematics and pattern drafts.",
    "skills": ["documentation", "schematics", "pattern drafting"]
  },
  {
    "id": "fvk-020",
    "title": "Continental vs English",
    "level": "Beginner",
    "category": "Efficiency",
    "duration_hours": 5,
    "price": 49,
    "format": "Self-paced",
    "rating": 4.5,
    "reviews_count": 137,
    "badge": null,
    "short_description": "Explore two common styles with ergonomics in mind.",
    "long_description": "Compare and contrast the two main knitting styles, adjust tension, and pick what suits your body best.",
    "skills": ["continental", "english style", "tension"]
  },
  {
    "id": "fvk-021",
    "title": "Charting Lace by Hand",
    "level": "Advanced",
    "category": "Design",
    "duration_hours": 8,
    "price": 105,
    "format": "Self-paced",
    "rating": 4.5,
    "reviews_count": 91,
    "badge": null,
    "short_description": "Draft and test lace motifs with predictability.",
    "long_description": "Understand balance and symmetry, create charts, and validate with swatches before committing to projects.",
    "skills": ["chart drafting", "symmetry", "validation"]
  },
  {
    "id": "fvk-022",
    "title": "Blocking Mastery",
    "level": "Beginner",
    "category": "Fundamentals",
    "duration_hours": 4,
    "price": 39,
    "format": "Self-paced",
    "rating": 4.7,
    "reviews_count": 204,
    "badge": null,
    "short_description": "Wet, steam, and spray blocking methods compared.",
    "long_description": "Choose the right blocking method for fiber content and fabric goals. Includes safety and care checklists.",
    "skills": ["wet blocking", "steam blocking", "fiber care"]
  }
]