{"id":3610,"date":"2026-03-25T16:12:10","date_gmt":"2026-03-25T16:12:10","guid":{"rendered":"https:\/\/aidevlab.com\/?page_id=3610"},"modified":"2026-03-25T17:10:53","modified_gmt":"2026-03-25T17:10:53","slug":"nsf-curriculum-engine","status":"publish","type":"page","link":"https:\/\/aidevlab.com\/case-studies\/nsf-curriculum-engine\/","title":{"rendered":"NSF Curriculum Engine"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3610\" class=\"elementor elementor-3610\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3aa9177 ct-section-stretched elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3aa9177\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-91721cd\" data-id=\"91721cd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b7239bd elementor-widget elementor-widget-html\" data-id=\"b7239bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     CASE STUDY: NSF CURRICULUM ENGINE\r\n     Page slug: \/case-studies\/nsf-curriculum-engine\/\r\n     Three sections \u2014 paste each as its own widget\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n\r\n\r\n<!-- \u2550\u2550 SECTION A: HERO \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n@keyframes nsf-fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }\r\n@keyframes nsf-fadeIn { from{opacity:0} to{opacity:1} }\r\n\r\n.nsf-hero {\r\n  background: #0A1628;\r\n  padding: 140px var(--gutter,clamp(1.5rem,5vw,4.5rem)) 80px;\r\n  position: relative; overflow: hidden;\r\n}\r\n.nsf-hero::before {\r\n  content: '';\r\n  position: absolute; inset: 0;\r\n  background: radial-gradient(ellipse at 70% 20%, rgba(37,159,108,0.14) 0%, transparent 55%),\r\n              radial-gradient(ellipse at 15% 80%, rgba(20,58,162,0.2) 0%, transparent 50%);\r\n  pointer-events: none;\r\n}\r\n.nsf-hero-inner { max-width: 1160px; margin: 0 auto; position: relative; z-index: 1; }\r\n.nsf-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }\r\n\r\n.nsf-back {\r\n  display: inline-flex; align-items: center; gap: 0.5rem;\r\n  font-size: 0.78rem; color: rgba(220,230,245,0.42);\r\n  text-decoration: none; font-family: 'DM Sans', system-ui, sans-serif;\r\n  margin-bottom: 2rem; transition: color 0.2s;\r\n  opacity: 0; animation: nsf-fadeUp 0.6s 0.1s forwards;\r\n}\r\n.nsf-back:hover { color: rgba(220,230,245,0.78); }\r\n\r\n.nsf-badge {\r\n  display: inline-flex; align-items: center; gap: 0.5rem;\r\n  background: rgba(37,159,108,0.12); border: 1px solid rgba(37,159,108,0.22);\r\n  border-radius: 100px; padding: 0.3rem 0.875rem;\r\n  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.09em;\r\n  text-transform: uppercase; color: #52D09A;\r\n  font-family: 'DM Sans', system-ui, sans-serif;\r\n  margin-bottom: 1.25rem;\r\n  opacity: 0; animation: nsf-fadeUp 0.6s 0.15s forwards;\r\n}\r\n\r\n.nsf-industry {\r\n  font-size: 0.67rem; font-weight: 700; letter-spacing: 0.15em;\r\n  text-transform: uppercase; color: #259F6C;\r\n  font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem;\r\n  opacity: 0; animation: nsf-fadeUp 0.6s 0.2s forwards;\r\n}\r\n.nsf-hero h1 {\r\n  font-family: 'Playfair Display', Georgia, serif !important;\r\n  font-size: clamp(2.25rem,4vw,3.75rem) !important;\r\n  font-weight: 500 !important; line-height: 1.08 !important;\r\n  letter-spacing: -0.02em !important;\r\n  color: rgba(220,230,245,0.95); margin-bottom: 1.5rem !important;\r\n  opacity: 0; animation: nsf-fadeUp 0.7s 0.3s forwards;\r\n}\r\n.nsf-hero h1 em { font-style: italic; font-weight: 400; color: #E8A820; }\r\n.nsf-hero-desc {\r\n  font-size: 1rem; color: rgba(220,230,245,0.65); line-height: 1.82;\r\n  font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif;\r\n  opacity: 0; animation: nsf-fadeUp 0.7s 0.4s forwards;\r\n}\r\n\r\n.nsf-meta {\r\n  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);\r\n  border-radius: 12px; overflow: hidden;\r\n  opacity: 0; animation: nsf-fadeUp 0.7s 0.5s forwards;\r\n}\r\n.nsf-meta-row {\r\n  display: flex; justify-content: space-between; align-items: flex-start;\r\n  padding: 1.25rem 1.625rem; border-bottom: 1px solid rgba(255,255,255,0.06); gap: 1rem;\r\n}\r\n.nsf-meta-row:last-child { border-bottom: none; }\r\n.nsf-meta-lbl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(220,230,245,0.28); font-family: 'DM Sans', system-ui, sans-serif; flex-shrink: 0; }\r\n.nsf-meta-val { font-size: 0.875rem; color: rgba(220,230,245,0.75); font-weight: 400; font-family: 'DM Sans', system-ui, sans-serif; text-align: right; line-height: 1.4; }\r\n.nsf-meta-val.gold { color: #E8A820; font-weight: 600; }\r\n.nsf-meta-val.green { color: #52D09A; font-weight: 600; }\r\n\r\n@media (max-width: 900px) { .nsf-hero-grid { grid-template-columns: 1fr; gap: 3rem; } }\r\n<\/style>\r\n\r\n<section class=\"nsf-hero adl-section\">\r\n  <div class=\"nsf-hero-inner\">\r\n    <a href=\"\/case-studies\/\" class=\"nsf-back\">\r\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"><path d=\"M11.5 7h-9M5.5 3.5L2 7l3.5 3.5\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n      All Case Studies\r\n    <\/a>\r\n    <div class=\"nsf-hero-grid\">\r\n      <div>\r\n        <div class=\"nsf-badge\">\ud83c\udf93 NSF Grant Funded<\/div>\r\n        <div class=\"nsf-industry\">Education &amp; Research<\/div>\r\n        <h1>An ML System That Finds the<br>Right Path for Every Student.<br><em>Not Just the Average One.<\/em><\/h1>\r\n        <p class=\"nsf-hero-desc\">\r\n          Students with disabilities have always been handed the same curriculum paths as everyone else and told to make it work. We built a machine learning system that changes that. It reads each student's profile, their goals, their assessment scores, and their prior learning history, then prescribes the sequence most likely to get them to employment. Validated against real student data. Built to support continued federal funding.\r\n        <\/p>\r\n      <\/div>\r\n      <div class=\"nsf-meta\">\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Funding<\/span><span class=\"nsf-meta-val gold\">National Science Foundation Grant<\/span><\/div>\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Population<\/span><span class=\"nsf-meta-val\">Students with disabilities<\/span><\/div>\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Goal<\/span><span class=\"nsf-meta-val\">Maximize employability outcomes<\/span><\/div>\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Models tested<\/span><span class=\"nsf-meta-val\">3 ML architectures compared<\/span><\/div>\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Validation<\/span><span class=\"nsf-meta-val\">Real student cohort data<\/span><\/div>\r\n        <div class=\"nsf-meta-row\"><span class=\"nsf-meta-lbl\">Outcome<\/span><span class=\"nsf-meta-val green\">Federal funding supported and renewed<\/span><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<!-- \u2550\u2550 SECTION B: BODY \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n.nsf-body { background: #F5F2EB; padding: clamp(80px,10vw,120px) var(--gutter,clamp(1.5rem,5vw,4.5rem)); }\r\n.nsf-body-inner { max-width: 1160px; margin: 0 auto; }\r\n.nsf-lbl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #259F6C; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem; display: block; }\r\n.nsf-body h2 { font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(1.75rem,2.75vw,2.5rem) !important; font-weight: 500 !important; line-height: 1.15 !important; letter-spacing: -0.015em !important; color: #140F1E; margin-bottom: 1.25rem !important; }\r\n.nsf-body h2 em { font-style: italic; font-weight: 400; color: #143AA2; }\r\n.nsf-body p { font-size: 0.95rem; color: #4A4E5A; line-height: 1.85; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem; }\r\n.nsf-body p:last-child { margin-bottom: 0; }\r\n.nsf-body strong { color: #140F1E; font-weight: 500; }\r\n.nsf-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; margin-bottom: clamp(4rem,6vw,6rem); }\r\n\r\n\/* Stakes callout *\/\r\n.nsf-stakes {\r\n  background: #0A1628; border-radius: 10px; padding: 2rem 2.25rem; margin-top: 2rem;\r\n}\r\n.nsf-stakes-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(232,168,32,0.65); font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem; }\r\n.nsf-stakes p {\r\n  font-family: 'Playfair Display', Georgia, serif !important;\r\n  font-size: 1.1rem !important; font-style: italic;\r\n  color: rgba(220,230,245,0.88) !important; margin: 0 !important; line-height: 1.65 !important;\r\n}\r\n.nsf-stakes p em { color: #E8A820; font-style: normal; }\r\n\r\n\/* Profile inputs visual *\/\r\n.nsf-profile-card {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px; overflow: hidden; margin-top: 2rem;\r\n  opacity: 0; transform: translateY(16px);\r\n  transition: opacity 0.65s ease, transform 0.65s ease;\r\n}\r\n.nsf-profile-card.visible { opacity: 1; transform: translateY(0); }\r\n.nsf-profile-header {\r\n  background: linear-gradient(135deg, #143AA2, #0A1628);\r\n  padding: 1.25rem 1.625rem;\r\n  display: flex; align-items: center; gap: 0.875rem;\r\n}\r\n.nsf-profile-dot { width: 8px; height: 8px; border-radius: 50%; background: #52D09A; flex-shrink: 0; }\r\n.nsf-profile-header-text { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(220,230,245,0.8); font-family: 'DM Sans', system-ui, sans-serif; }\r\n.nsf-profile-body { padding: 1.25rem 1.625rem; display: flex; flex-direction: column; gap: 0.75rem; }\r\n.nsf-profile-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }\r\n.nsf-profile-key { font-size: 0.78rem; color: #9B9690; font-weight: 400; font-family: 'DM Sans', system-ui, sans-serif; }\r\n.nsf-profile-val { font-size: 0.82rem; color: #140F1E; font-weight: 500; font-family: 'DM Sans', system-ui, sans-serif; text-align: right; }\r\n.nsf-profile-bar-wrap { height: 6px; background: #F0EDE6; border-radius: 3px; width: 100px; overflow: hidden; flex-shrink: 0; }\r\n.nsf-profile-bar { height: 100%; border-radius: 3px; background: #143AA2; width: 0; transition: width 1.2s ease; }\r\n.nsf-profile-bar.green { background: #259F6C; }\r\n.nsf-profile-bar.gold { background: #E8A820; }\r\n.nsf-profile-arrow {\r\n  text-align: center; padding: 1rem; background: #F8F7F4;\r\n  font-size: 0.75rem; font-weight: 600; color: #259F6C; letter-spacing: 0.05em;\r\n  font-family: 'DM Sans', system-ui, sans-serif;\r\n  border-top: 1px solid #E2DDD6;\r\n}\r\n\r\n\/* Model comparison *\/\r\n.nsf-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: clamp(3rem,4vw,4rem); }\r\n.nsf-model {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px; padding: 2rem;\r\n  transition: box-shadow 0.25s, border-color 0.25s, transform 0.25s;\r\n  opacity: 0; transform: translateY(20px);\r\n  transition: box-shadow 0.3s, border-color 0.3s, opacity 0.65s ease, transform 0.65s ease;\r\n}\r\n.nsf-model.visible { opacity: 1; transform: translateY(0); }\r\n.nsf-model:nth-child(1){transition-delay:0.05s} .nsf-model:nth-child(2){transition-delay:0.18s} .nsf-model:nth-child(3){transition-delay:0.31s}\r\n.nsf-model.winner {\r\n  border-color: #259F6C; background: linear-gradient(135deg, rgba(37,159,108,0.04) 0%, #fff 60%);\r\n}\r\n.nsf-model.winner:hover { box-shadow: 0 10px 32px rgba(37,159,108,0.15); }\r\n.nsf-model:not(.winner):hover { box-shadow: 0 8px 28px rgba(20,58,162,0.08); border-color: rgba(20,58,162,0.2); transform: translateY(-2px) !important; }\r\n\r\n.nsf-model-badge {\r\n  display: inline-block; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em;\r\n  text-transform: uppercase; padding: 0.22rem 0.625rem; border-radius: 100px;\r\n  font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem;\r\n}\r\n.nsf-model-badge.tested { background: #F0EDE6; color: #9B9690; }\r\n.nsf-model-badge.selected { background: rgba(37,159,108,0.12); color: #259F6C; }\r\n.nsf-model-name { font-size: 1rem; font-weight: 600; color: #140F1E; margin-bottom: 0.5rem; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.3; }\r\n.nsf-model-tech { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: #143AA2; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 0.875rem; }\r\n.nsf-model-desc { font-size: 0.855rem; color: #4A4E5A; line-height: 1.7; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin: 0; }\r\n.nsf-model-strength { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #E2DDD6; font-size: 0.8rem; color: #4A4E5A; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.6; }\r\n.nsf-model-strength strong { color: #140F1E; font-weight: 600; }\r\n\r\n\/* Validation section *\/\r\n.nsf-validation { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; margin-top: clamp(4rem,6vw,6rem); }\r\n.nsf-validation-visual {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px; overflow: hidden;\r\n  opacity: 0; transform: translateX(-20px);\r\n  transition: opacity 0.7s ease, transform 0.7s ease;\r\n}\r\n.nsf-validation-visual.visible { opacity: 1; transform: translateX(0); }\r\n.nsf-val-header { background: #0A1628; padding: 1.25rem 1.625rem; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(220,230,245,0.6); font-family: 'DM Sans', system-ui, sans-serif; }\r\n.nsf-val-row { padding: 1.125rem 1.625rem; border-bottom: 1px solid #E2DDD6; display: flex; align-items: center; gap: 1.25rem; }\r\n.nsf-val-row:last-child { border-bottom: none; }\r\n.nsf-val-icon { font-size: 1rem; flex-shrink: 0; width: 24px; }\r\n.nsf-val-text { font-size: 0.855rem; color: #140F1E; font-weight: 400; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.45; flex-grow: 1; }\r\n.nsf-val-text span { color: #259F6C; font-weight: 600; }\r\n.nsf-val-check { color: #259F6C; font-size: 1.1rem; flex-shrink: 0; opacity: 0; transition: opacity 0.4s; }\r\n.nsf-val-check.show { opacity: 1; }\r\n\r\n\/* Impact section *\/\r\n.nsf-impact { background: #0A1628; border-radius: 14px; padding: 3rem; margin-top: clamp(3rem,4vw,4rem); position: relative; overflow: hidden; }\r\n.nsf-impact::before { content: ''; position: absolute; top: 0; right: 0; width: 300px; height: 300px; background: radial-gradient(ellipse, rgba(37,159,108,0.12) 0%, transparent 65%); pointer-events: none; }\r\n.nsf-impact-lbl { font-size: 0.63rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(232,168,32,0.65); font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem; }\r\n.nsf-impact-headline { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.5rem,2.5vw,2.1rem); font-weight: 500; color: rgba(220,230,245,0.95); line-height: 1.25; margin-bottom: 1.5rem; letter-spacing: -0.01em; }\r\n.nsf-impact-headline em { font-style: italic; color: #E8A820; font-weight: 400; }\r\n.nsf-impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,0.07); border-radius: 10px; overflow: hidden; }\r\n.nsf-impact-stat { background: rgba(255,255,255,0.03); padding: 1.5rem 1.625rem; transition: background 0.25s; }\r\n.nsf-impact-stat:hover { background: rgba(37,159,108,0.08); }\r\n.nsf-impact-num { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; font-weight: 600; color: #E8A820; line-height: 1; margin-bottom: 0.4rem; }\r\n.nsf-impact-desc { font-size: 0.78rem; color: rgba(220,230,245,0.45); line-height: 1.55; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; }\r\n\r\n\/* Outcomes strip *\/\r\n.nsf-outcomes {\r\n  display: grid; grid-template-columns: repeat(4, 1fr);\r\n  gap: 1px; background: rgba(255,255,255,0.07);\r\n  border: 1px solid rgba(255,255,255,0.07);\r\n  border-radius: 12px; overflow: hidden;\r\n  margin-top: clamp(3rem,4vw,4rem);\r\n}\r\n.nsf-outcome { background: #0A1628; padding: 2rem 1.875rem; transition: background 0.25s; }\r\n.nsf-outcome:hover { background: rgba(37,159,108,0.08); }\r\n.nsf-outcome strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; font-weight: 600; color: #E8A820; line-height: 1; margin-bottom: 0.5rem; }\r\n.nsf-outcome span { font-size: 0.8rem; color: rgba(220,230,245,0.58); font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.5; }\r\n\r\n@media (max-width: 960px) {\r\n  .nsf-two-col, .nsf-validation { grid-template-columns: 1fr; gap: 3rem; }\r\n  .nsf-models { grid-template-columns: 1fr; }\r\n  .nsf-impact-grid { grid-template-columns: 1fr 1fr; }\r\n  .nsf-outcomes { grid-template-columns: 1fr 1fr; }\r\n}\r\n<\/style>\r\n\r\n<section class=\"nsf-body adl-section\">\r\n  <div class=\"nsf-body-inner\">\r\n\r\n    <!-- Problem -->\r\n    <div class=\"nsf-two-col\">\r\n      <div>\r\n        <span class=\"nsf-lbl\">The Problem<\/span>\r\n        <h2>Every student was getting<br>the same path.<br><em>None of them are the same student.<\/em><\/h2>\r\n        <p>The educational system for students with disabilities has long operated on a fundamental assumption that does not hold up: that a standardized curriculum sequence, delivered the same way to every student, produces the best outcomes for all of them. The data says otherwise.<\/p>\r\n        <p>Students with disabilities present across an enormous range of profiles. Cognitive ability, prior educational history, assessment scores, career interests, learning preferences, and specific disability characteristics all interact in ways that determine which learning sequence will unlock employment-ready skills most effectively. A student who thrives on structured sequential learning needs a different path than one who builds understanding through contextual application. The same content delivered in the wrong order, at the wrong time, produces worse outcomes than no intervention at all.<\/p>\r\n        <p><strong>The organization awarded the NSF grant<\/strong> understood this. They had the content. They had the students. They had years of outcome data. What they needed was a system capable of reading all of it and prescribing the right path for each individual. At a scale no human advisor could manage. With a consistency no manual process could maintain.<\/p>\r\n        <div class=\"nsf-stakes\">\r\n          <div class=\"nsf-stakes-lbl\">What was at stake<\/div>\r\n          <p>\"This was not an academic exercise. The model results would determine whether students got better outcomes <em>and whether the organization received continued federal funding<\/em>. Both depended on getting this right.\"<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div>\r\n        <span class=\"nsf-lbl\">What the System Reads<\/span>\r\n        <h2>A recommendation<br>that knows<br><em>the whole student.<\/em><\/h2>\r\n        <p>Most curriculum recommendation tools operate on a single dimension: assessment score, grade level, or subject interest. They miss the interaction effects between multiple factors that actually predict which learning sequence will work.<\/p>\r\n        <p>The system we built reads across every available dimension of a student's profile to understand not just where they are, but what kind of learner they are and which pathway is most likely to get them to employment-ready competency.<\/p>\r\n\r\n        <div class=\"nsf-profile-card adl-reveal\">\r\n          <div class=\"nsf-profile-header\">\r\n            <div class=\"nsf-profile-dot\"><\/div>\r\n            <div class=\"nsf-profile-header-text\">Student Profile Input \u2014 System View<\/div>\r\n          <\/div>\r\n          <div class=\"nsf-profile-body\">\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">IQ Assessment<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar\" data-width=\"72\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">Employability Score<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar green\" data-width=\"85\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">Prior Module Completion<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar gold\" data-width=\"58\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">Career Goal Alignment<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar\" data-width=\"91\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">Learning Preference Profile<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar green\" data-width=\"66\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"nsf-profile-row\">\r\n              <span class=\"nsf-profile-key\">Similar Student Outcomes<\/span>\r\n              <div class=\"nsf-profile-bar-wrap\"><div class=\"nsf-profile-bar gold\" data-width=\"79\"><\/div><\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"nsf-profile-arrow\">\u2193 ML Model Prescribes Optimal Learning Sequence \u2193<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Model comparison -->\r\n    <span class=\"nsf-lbl\">How We Found the Right Model<\/span>\r\n    <h2 style=\"font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.75rem,2.75vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-0.015em;color:#140F1E;margin-bottom:0.5rem;\">We tested three architectures<br>against <em style=\"font-style:italic;color:#143AA2;\">real student data.<\/em><\/h2>\r\n    <p style=\"font-size:.95rem;color:#4A4E5A;line-height:1.82;font-weight:300;font-family:'DM Sans',system-ui,sans-serif;max-width:580px;margin-bottom:0;\">The right ML approach for a problem like this is not obvious. It depends on the structure of the data, the size of the student population, and the nature of the outcome being predicted. We tested three architectures and selected the best performing one based on rigorous validation against real student outcomes.<\/p>\r\n\r\n    <div class=\"nsf-models\">\r\n      <div class=\"nsf-model\">\r\n        <div class=\"nsf-model-badge tested\">Tested<\/div>\r\n        <div class=\"nsf-model-name\">K-Nearest Neighbors<\/div>\r\n        <div class=\"nsf-model-tech\">KNN Classification<\/div>\r\n        <p class=\"nsf-model-desc\">Identifies the students in the historical dataset most similar to the current student across all profile dimensions, and recommends the learning sequence that produced the best employment outcomes for that peer group.<\/p>\r\n        <div class=\"nsf-model-strength\"><strong>Strength:<\/strong> Highly interpretable. Easy to explain to stakeholders and educators why a particular recommendation was made. Because these specific similar students achieved these outcomes on this path.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"nsf-model\">\r\n        <div class=\"nsf-model-badge tested\">Tested<\/div>\r\n        <div class=\"nsf-model-name\">Collaborative Filtering<\/div>\r\n        <div class=\"nsf-model-tech\">Matrix Factorization<\/div>\r\n        <p class=\"nsf-model-desc\">Identifies latent patterns in student-curriculum interaction data to surface learning pathway recommendations. Think of it like a recommendation engine that finds pathways a student did not know to ask for but consistently connects with.<\/p>\r\n        <div class=\"nsf-model-strength\"><strong>Strength:<\/strong> Excels at surfacing non-obvious pathway combinations that consistently outperform expected outcomes in specific student clusters.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"nsf-model winner\">\r\n        <div class=\"nsf-model-badge selected\">\u2713 Selected Architecture<\/div>\r\n        <div class=\"nsf-model-name\">Graph Convolutional Matrix Completion<\/div>\r\n        <div class=\"nsf-model-tech\">GCN + Matrix Completion<\/div>\r\n        <p class=\"nsf-model-desc\">Treats the student-curriculum relationship as a graph problem. It models not just which students completed which modules, but the relationships between modules, the dependencies between skills, and how student profiles cluster in the latent space of learning behavior.<\/p>\r\n        <div class=\"nsf-model-strength\"><strong>Why it won:<\/strong> Outperformed both alternatives on the validation dataset, particularly for students with sparse prior learning history. That is a critical capability given the population being served.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Validation -->\r\n    <div class=\"nsf-validation\">\r\n      <div>\r\n        <span class=\"nsf-lbl\">Validation Methodology<\/span>\r\n        <h2>The NSF does not fund<br>interesting ideas.<br><em>It funds proven ones.<\/em><\/h2>\r\n        <p>Getting an AI system to produce recommendations is the easy part. Getting those recommendations to hold up under NSF review, peer analysis, and real world deployment is the hard part. We designed the validation methodology from the start to meet federal research standards. Not bolted on at the end. Built in from day one.<\/p>\r\n        <p>Every architectural decision, every training split, every evaluation metric was selected to produce results that were reproducible, explainable, and defensible in a formal research context. The output was not a dashboard with numbers that looked good. It was a documented, peer review ready methodology with statistically significant improvement over baseline curriculum delivery.<\/p>\r\n        <p><strong>That methodology<\/strong> is what convinced the NSF to continue funding. Not the idea. The proof.<\/p>\r\n      <\/div>\r\n      <div class=\"nsf-validation-visual adl-reveal\">\r\n        <div class=\"nsf-val-header\">Validation Checklist \u2014 NSF Standards<\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83d\udcca<\/div>\r\n          <div class=\"nsf-val-text\">Tested on <span>real student cohort data<\/span>. No synthetic populations.<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-1\">\u2713<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83d\udd2c<\/div>\r\n          <div class=\"nsf-val-text\">Three model architectures compared with <span>statistically rigorous<\/span> methodology<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-2\">\u2713<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83d\udcc8<\/div>\r\n          <div class=\"nsf-val-text\">Measured against <span>baseline curriculum delivery<\/span> with documented improvement delta<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-3\">\u2713<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83d\udcdd<\/div>\r\n          <div class=\"nsf-val-text\">Results documented in <span>peer review ready format<\/span> aligned with NSF reporting requirements<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-4\">\u2713<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83c\udfaf<\/div>\r\n          <div class=\"nsf-val-text\">Primary metric: <span>employability outcome alignment<\/span>. The metric that actually mattered.<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-5\">\u2713<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-val-row\">\r\n          <div class=\"nsf-val-icon\">\ud83d\udd04<\/div>\r\n          <div class=\"nsf-val-text\">Reproducible results. <span>Funding renewed<\/span> based on demonstrated performance.<\/div>\r\n          <div class=\"nsf-val-check\" id=\"nsf-check-6\">\u2713<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Impact -->\r\n    <div class=\"nsf-impact adl-reveal\">\r\n      <div class=\"nsf-impact-lbl\">Why This Matters<\/div>\r\n      <div class=\"nsf-impact-headline\">\r\n        A student who gets the right path gets<br>a job. A student who gets the wrong one<br><em>does not.<\/em>\r\n      <\/div>\r\n      <div class=\"nsf-impact-grid\">\r\n        <div class=\"nsf-impact-stat\">\r\n          <div class=\"nsf-impact-num\">Real<\/div>\r\n          <div class=\"nsf-impact-desc\">Outcomes for real students, not simulated improvements on theoretical populations<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-impact-stat\">\r\n          <div class=\"nsf-impact-num\">Proven<\/div>\r\n          <div class=\"nsf-impact-desc\">Statistically significant improvement over baseline. Documented. Peer-review-ready.<\/div>\r\n        <\/div>\r\n        <div class=\"nsf-impact-stat\">\r\n          <div class=\"nsf-impact-num\">Funded<\/div>\r\n          <div class=\"nsf-impact-desc\">NSF continued investment in the organization based on the demonstrated performance of the system<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Outcomes -->\r\n    <div class=\"nsf-outcomes\">\r\n      <div class=\"nsf-outcome\">\r\n        <strong>3<\/strong>\r\n        <span>ML architectures tested and rigorously compared against real student outcome data<\/span>\r\n      <\/div>\r\n      <div class=\"nsf-outcome\">\r\n        <strong>NSF<\/strong>\r\n        <span>Federal validation standard met. Methodology built for peer review from day one.<\/span>\r\n      <\/div>\r\n      <div class=\"nsf-outcome\">\r\n        <strong>Better<\/strong>\r\n        <span>Employability outcome alignment vs baseline curriculum delivery. Measured, not estimated.<\/span>\r\n      <\/div>\r\n      <div class=\"nsf-outcome\">\r\n        <strong>Renewed<\/strong>\r\n        <span>Federal funding supported and continued based on demonstrated system performance<\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<!-- \u2550\u2550 SECTION C: CTA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n.nsf-cta { background: #0A1628; padding: clamp(80px,10vw,100px) var(--gutter,clamp(1.5rem,5vw,4.5rem)); position: relative; overflow: hidden; }\r\n.nsf-cta::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 800px; height: 400px; background: radial-gradient(ellipse, rgba(37,159,108,0.1) 0%, rgba(20,58,162,0.15) 40%, transparent 68%); pointer-events: none; }\r\n.nsf-cta-inner { max-width: 780px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; position: relative; z-index: 1; }\r\n.nsf-cta h2 { font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(2rem,3.5vw,3rem) !important; font-weight: 500 !important; line-height: 1.12 !important; color: rgba(220,230,245,0.95); margin-bottom: 1.25rem !important; }\r\n.nsf-cta h2 em { font-style: italic; color: #E8A820; font-weight: 400; }\r\n.nsf-cta p { font-size: 0.95rem; color: rgba(220,230,245,0.58); line-height: 1.82; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 2rem; }\r\n.nsf-cta-btn { display: block; text-align: center; background: #259F6C; color: #fff; padding: 0.95rem 2.25rem; border-radius: 5px; text-decoration: none; font-weight: 600; font-size: 0.9rem; font-family: 'DM Sans', system-ui, sans-serif; border: 2px solid #259F6C; transition: background 0.22s, color 0.22s, transform 0.15s; }\r\n.nsf-cta-btn:hover { background: #fff; color: #259F6C; transform: translateY(-1px); }\r\n.nsf-cta-link { display: block; margin-top: 1rem; text-align: center; font-size: 0.82rem; color: rgba(220,230,245,0.35); text-decoration: none; font-family: 'DM Sans', system-ui, sans-serif; transition: color 0.2s; }\r\n.nsf-cta-link:hover { color: rgba(220,230,245,0.65); }\r\n.nsf-cta-right { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 2.25rem; }\r\n.nsf-cta-right-lbl { font-size: 0.63rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(232,168,32,0.6); font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem; display: block; }\r\n.nsf-cta-right h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; font-weight: 500; color: rgba(220,230,245,0.9); margin-bottom: 0.875rem; line-height: 1.35; }\r\n.nsf-cta-right p { font-size: 0.84rem; color: rgba(220,230,245,0.45); line-height: 1.72; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin: 0; }\r\n@media (max-width: 860px) { .nsf-cta-inner { grid-template-columns: 1fr; gap: 3rem; max-width: 560px; } }\r\n<\/style>\r\n\r\n<section class=\"nsf-cta adl-section\">\r\n  <div class=\"nsf-cta-inner\">\r\n    <div>\r\n      <h2>Working in a regulated<br>or federally funded<br><em>environment?<\/em><\/h2>\r\n      <p>AI in grant funded, compliance-driven, or research contexts requires more than a working model. It requires a documented methodology, defensible validation, and results that hold up under scrutiny. We have built in exactly these environments. Tell us about yours.<\/p>\r\n      <a href=\"https:\/\/calendly.com\/aidevlab-info\/aidevlab-lets-talk-ai\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"nsf-cta-btn\">Start a Conversation<\/a>\r\n      <a href=\"\/case-studies\/\" class=\"nsf-cta-link\">\u2190 Back to all case studies<\/a>\r\n    <\/div>\r\n    <div class=\"nsf-cta-right\">\r\n      <span class=\"nsf-cta-right-lbl\">The broader lesson<\/span>\r\n      <h3>Rigorous validation is not a burden. It is the proof that makes the system worth funding.<\/h3>\r\n      <p>Organizations that treat validation as a box to check produce systems that fail under scrutiny. Organizations that design for validation from day one produce systems that get renewed, expanded, and trusted by the people who depend on them. That distinction shapes every technical decision we make in high-stakes environments.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  const io = new IntersectionObserver(entries => {\r\n    entries.forEach(e => {\r\n      if (e.isIntersecting) {\r\n        e.target.classList.add('visible');\r\n\r\n        \/\/ Animate profile bars\r\n        if (e.target.classList.contains('nsf-profile-card')) {\r\n          setTimeout(() => {\r\n            e.target.querySelectorAll('.nsf-profile-bar').forEach(bar => {\r\n              bar.style.width = bar.dataset.width + '%';\r\n            });\r\n          }, 300);\r\n          \/\/ Animate checklist\r\n          [1,2,3,4,5,6].forEach((n, i) => {\r\n            setTimeout(() => {\r\n              const el = document.getElementById('nsf-check-' + n);\r\n              if (el) el.classList.add('show');\r\n            }, 600 + i * 250);\r\n          });\r\n        }\r\n\r\n        io.unobserve(e.target);\r\n      }\r\n    });\r\n  }, {threshold: 0.15});\r\n\r\n  document.querySelectorAll('.nsf-model, .nsf-profile-card, .nsf-validation-visual, .nsf-impact, .adl-reveal').forEach(el => io.observe(el));\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>All Case Studies \ud83c\udf93 NSF Grant Funded Education &amp; Research An ML System That Finds theRight Path for Every Student.Not Just the Average One. Students with disabilities have always been handed the same curriculum paths as everyone else and told to make it work. We built a machine learning system that changes that. It reads [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3585,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"nf_dc_page":"","footnotes":""},"class_list":["post-3610","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/comments?post=3610"}],"version-history":[{"count":25,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3610\/revisions"}],"predecessor-version":[{"id":3743,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3610\/revisions\/3743"}],"up":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3585"}],"wp:attachment":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/media?parent=3610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}