[
  {
    "id": "k001",
    "title": "Beginner Foundations: Knit, Purl, and Gauge",
    "category": "Techniques",
    "level": "Beginner",
    "durationHours": 8,
    "priceUSD": 49,
    "rating": 4.8,
    "students": 2450,
    "description": "Build muscle memory for knit and purl, read swatches, and measure gauge that actually fits.",
    "outline": ["Grip and yarn tension", "Reading knit fabric", "Casting on and off cleanly", "Gauge math essentials"],
    "requirements": ["No prior experience needed"],
    "image": "./images/course-beginner-foundations.jpg",
    "instructor": "Mara Elstead",
    "tags": ["basics", "gauge", "swatch"]
  },
  {
    "id": "k002",
    "title": "Raglan Sweater Blueprint",
    "category": "Sweater",
    "level": "Intermediate",
    "durationHours": 12,
    "priceUSD": 89,
    "rating": 4.9,
    "students": 1980,
    "description": "Draft and knit a custom raglan with neckline shaping, sleeve taper, and hem balance.",
    "outline": ["Measurements and ease", "Raglan math", "Neckline shaping", "Blocking and finishing"],
    "requirements": ["Comfortable with knit/purl", "Able to knit in the round"],
    "image": "./images/course-raglan-blueprint.jpg",
    "instructor": "Jonah Park",
    "tags": ["raglan", "sweater", "fit"]
  },
  {
    "id": "k003",
    "title": "Shawl Architect: Triangles and Crescents",
    "category": "Shawl",
    "level": "Intermediate",
    "durationHours": 9,
    "priceUSD": 69,
    "rating": 4.7,
    "students": 1260,
    "description": "Design drape-forward shawls with increases mapped for crisp geometry and flow.",
    "outline": ["Shaping maps", "Blocking for drape", "Edging decisions", "Chart literacy"],
    "requirements": ["Knit/purl proficiency"],
    "image": "./images/course-shawl-architect.jpg",
    "instructor": "Rhea Collins",
    "tags": ["shawl", "blocking", "charts"]
  },
  {
    "id": "k004",
    "title": "Socks Lab: Toe-Up and Top-Down",
    "category": "Socks",
    "level": "Intermediate",
    "durationHours": 10,
    "priceUSD": 79,
    "rating": 4.8,
    "students": 1730,
    "description": "Compare construction paths, heels, and toes, then tune fit for comfort that lasts.",
    "outline": ["Cast-on options", "Heel styles", "Toe shaping", "Reinforcement"],
    "requirements": ["Comfortable with DPNs or magic loop"],
    "image": "./images/course-socks-lab.jpg",
    "instructor": "Mara Elstead",
    "tags": ["socks", "fit", "technique"]
  },
  {
    "id": "k005",
    "title": "Cables with Confidence",
    "category": "Techniques",
    "level": "Intermediate",
    "durationHours": 7,
    "priceUSD": 59,
    "rating": 4.6,
    "students": 980,
    "description": "Cross stitches cleanly without losing rhythm. Learn charting and no-cable-needle methods.",
    "outline": ["Cable anatomy", "Chart reading", "Without cable needle", "Blocking relief"],
    "requirements": ["Knit/purl proficiency"],
    "image": "./images/course-cables-confidence.jpg",
    "instructor": "Jonah Park",
    "tags": ["cables", "charts"]
  },
  {
    "id": "k006",
    "title": "Colorwork Essentials: Stranded and Mosaic",
    "category": "Techniques",
    "level": "Advanced",
    "durationHours": 11,
    "priceUSD": 89,
    "rating": 4.7,
    "students": 1220,
    "description": "Master tension control in multi-color fabrics with strategies for floats and clean transitions.",
    "outline": ["Stranded tension", "Mosaic principles", "Color planning", "Steeking overview"],
    "requirements": ["Intermediate technique comfort"],
    "image": "./images/course-colorwork-essentials.jpg",
    "instructor": "Rhea Collins",
    "tags": ["colorwork", "mosaic", "steek"]
  },
  {
    "id": "k007",
    "title": "Seamless Yoke Design",
    "category": "Sweater",
    "level": "Advanced",
    "durationHours": 13,
    "priceUSD": 99,
    "rating": 4.8,
    "students": 1100,
    "description": "Engineer motifs and decreases across a circular yoke for balanced proportions and flow.",
    "outline": ["Yoke geometry", "Decrease mapping", "Motif spacing", "Neckline shaping"],
    "requirements": ["Colorwork or texture comfort", "Knit in the round"],
    "image": "./images/course-seamless-yoke.jpg",
    "instructor": "Jonah Park",
    "tags": ["yoke", "sweater", "design"]
  },
  {
    "id": "k008",
    "title": "Finishing School: Seams, Blocking, Care",
    "category": "Techniques",
    "level": "Beginner",
    "durationHours": 6,
    "priceUSD": 45,
    "rating": 4.9,
    "students": 2890,
    "description": "Invisible seams, balanced blocking, and lasting garment care—transform good projects into great ones.",
    "outline": ["Mattress stitch", "Wet vs steam block", "Edge treatments", "Fiber care"],
    "requirements": ["Basic knit/purl"],
    "image": "./images/course-finishing-school.jpg",
    "instructor": "Mara Elstead",
    "tags": ["finishing", "blocking", "care"]
  },
  {
    "id": "k009",
    "title": "Brioche Basics and Beyond",
    "category": "Techniques",
    "level": "Advanced",
    "durationHours": 12,
    "priceUSD": 92,
    "rating": 4.6,
    "students": 860,
    "description": "Two-color brioche with increases, decreases, and reversible texture for scarves and sweaters.",
    "outline": ["One- and two-color", "Shaping in brioche", "Reading brioche fabric", "Troubleshooting"],
    "requirements": ["Intermediate knitting"],
    "image": "./images/course-brioche.jpg",
    "instructor": "Rhea Collins",
    "tags": ["brioche", "texture", "advanced"]
  },
  {
    "id": "k010",
    "title": "Hat Workshop: Beanies to Berets",
    "category": "Hat",
    "level": "Beginner",
    "durationHours": 5,
    "priceUSD": 39,
    "rating": 4.7,
    "students": 2100,
    "description": "Quick wins with crown shaping, rib variations, and finishing details for perfect hats.",
    "outline": ["Cast-on choices", "Crown math", "Brim ribbing", "Blocking forms"],
    "requirements": ["Knit in the round helpful"],
    "image": "./images/course-hat-workshop.jpg",
    "instructor": "Mara Elstead",
    "tags": ["hat", "quick project"]
  },
  {
    "id": "k011",
    "title": "Short Rows: Precision Shaping",
    "category": "Techniques",
    "level": "Intermediate",
    "durationHours": 6,
    "priceUSD": 55,
    "rating": 4.8,
    "students": 1500,
    "description": "German, wrap-and-turn, and shadow-wrap short rows for shoulders, bust darts, and hems.",
    "outline": ["Method comparisons", "Placement strategy", "Avoiding holes", "Integrating patterns"],
    "requirements": ["Basic knitting"],
    "image": "./images/course-short-rows.jpg",
    "instructor": "Jonah Park",
    "tags": ["short rows", "fit", "shoulder"]
  },
  {
    "id": "k012",
    "title": "Texture Atlas: Ribs, Seed, and Slip",
    "category": "Techniques",
    "level": "Beginner",
    "durationHours": 7,
    "priceUSD": 49,
    "rating": 4.5,
    "students": 970,
    "description": "Explore texture families that upgrade scarves, cowls, and sweater panels.",
    "outline": ["Reading repeats", "Edge control", "Reversible textures", "Swatch evaluation"],
    "requirements": ["Basic knit/purl"],
    "image": "./images/course-texture-atlas.jpg",
    "instructor": "Rhea Collins",
    "tags": ["texture", "patterns", "swatch"]
  },
  {
    "id": "k013",
    "title": "Lace Clarity: Charts to Fabric",
    "category": "Techniques",
    "level": "Intermediate",
    "durationHours": 9,
    "priceUSD": 72,
    "rating": 4.7,
    "students": 1150,
    "description": "De-mystify lace charts, lifelines, and blocking for crisp openwork with strong edges.",
    "outline": ["YO and decreases", "Chart navigation", "Lifelines", "Blocking frames"],
    "requirements": ["Knit/purl comfort"],
    "image": "./images/course-lace-clarity.jpg",
    "instructor": "Mara Elstead",
    "tags": ["lace", "charts", "blocking"]
  },
  {
    "id": "k014",
    "title": "Set-in Sleeve Precision",
    "category": "Sweater",
    "level": "Advanced",
    "durationHours": 10,
    "priceUSD": 95,
    "rating": 4.8,
    "students": 740,
    "description": "Engineer armholes, sleeve caps, and seams that sit right where they should.",
    "outline": ["Armscye math", "Cap shaping", "Seaming strategy", "Fit adjustments"],
    "requirements": ["Short rows recommended"],
    "image": "./images/course-setin-sleeve.jpg",
    "instructor": "Jonah Park",
    "tags": ["sleeve", "fit", "seams"]
  },
  {
    "id": "k015",
    "title": "Mittens and Gloves Formula",
    "category": "Accessories",
    "level": "Intermediate",
    "durationHours": 6,
    "priceUSD": 48,
    "rating": 4.6,
    "students": 880,
    "description": "Thumb gussets, finger planning, and lining decisions for durable handwear.",
    "outline": ["Gauge and sizing", "Gusset placement", "Finger mapping", "Lining choices"],
    "requirements": ["Knitting in the round"],
    "image": "./images/course-mittens-gloves.jpg",
    "instructor": "Rhea Collins",
    "tags": ["mittens", "gloves", "accessories"]
  },
  {
    "id": "k016",
    "title": "Steeking with Nerves of Steel",
    "category": "Techniques",
    "level": "Advanced",
    "durationHours": 8,
    "priceUSD": 88,
    "rating": 4.5,
    "students": 620,
    "description": "Secure, cut, and finish with confidence. Includes crochet and sewn steek methods.",
    "outline": ["Reinforcement methods", "Cutting setup", "Edge finishing", "Practice projects"],
    "requirements": ["Colorwork basics helpful"],
    "image": "./images/course-steeking.jpg",
    "instructor": "Jonah Park",
    "tags": ["steek", "cardigan", "advanced"]
  },
  {
    "id": "k017",
    "title": "Top-Down Seamless Cardigan",
    "category": "Sweater",
    "level": "Intermediate",
    "durationHours": 12,
    "priceUSD": 92,
    "rating": 4.7,
    "students": 990,
    "description": "Plan button bands, neckline transitions, and hemlines that hold their shape.",
    "outline": ["Neckline starts", "Button band options", "Shoulder shaping", "Blocking and care"],
    "requirements": ["Intermediate knitting"],
    "image": "./images/course-topdown-cardigan.jpg",
    "instructor": "Mara Elstead",
    "tags": ["cardigan", "top-down", "fit"]
  },
  {
    "id": "k018",
    "title": "Design Lab: From Swatch to Pattern",
    "category": "Techniques",
    "level": "Advanced",
    "durationHours": 14,
    "priceUSD": 119,
    "rating": 4.9,
    "students": 560,
    "description": "Translate texture and measurements into publish-ready patterns with graded sizes.",
    "outline": ["Swatch analysis", "Sizing and grading", "Pattern language", "Tech editing basics"],
    "requirements": ["Comfortable with spreadsheets"],
    "image": "./images/course-design-lab.jpg",
    "instructor": "Rhea Collins",
    "tags": ["design", "pattern", "grading"]
  },
  {
    "id": "k019",
    "title": "Baby Knits: Fast Gifts, Thoughtful Fits",
    "category": "Accessories",
    "level": "Beginner",
    "durationHours": 4,
    "priceUSD": 35,
    "rating": 4.6,
    "students": 2050,
    "description": "Adapt simple patterns for growing sizes with soft seams and easy-care fibers.",
    "outline": ["Fiber choices", "Sizing over months", "Soft seams", "Care instructions"],
    "requirements": ["Basic knit/purl"],
    "image": "./images/course-baby-knits.jpg",
    "instructor": "Mara Elstead",
    "tags": ["baby", "gifts", "quick"]
  },
  {
    "id": "k020",
    "title": "Blocking Mastery: Shape and Structure",
    "category": "Techniques",
    "level": "Beginner",
    "durationHours": 5,
    "priceUSD": 39,
    "rating": 4.7,
    "students": 1820,
    "description": "Bring pieces to final dimensions with wet, steam, and spray blocking for durable edges.",
    "outline": ["Fiber behavior", "Tools and boards", "Pinning strategy", "Care routines"],
    "requirements": ["None"],
    "image": "./images/course-blocking-mastery.jpg",
    "instructor": "Jonah Park",
    "tags": ["blocking", "finishing"]
  },
  {
    "id": "k021",
    "title": "Advanced Chart Reading and Symbols",
    "category": "Techniques",
    "level": "Advanced",
    "durationHours": 7,
    "priceUSD": 64,
    "rating": 4.6,
    "students": 730,
    "description": "Interpret complex charts across lace, cables, and colorwork with minimal confusion.",
    "outline": ["Symbol systems", "Multi-chart navigation", "Error recovery", "Annotations"],
    "requirements": ["Comfortable with charts"],
    "image": "./images/course-chart-reading.jpg",
    "instructor": "Rhea Collins",
    "tags": ["charts", "notation", "advanced"]
  }
]