AI App Directory

Interactive Guide to AI in Higher EdTech

AI APP DIRECTORY

Empowering innovators in teaching and administration. Find the right AI tools for your needs. Select your role to see curated tools, then filter by category to narrow your search.

© 2025 - All Rights Reserved Innovating Higher Ed

`).join('') : `

No tools found.

`; document.querySelectorAll('.learn-more-btn').forEach(btn => { btn.addEventListener('click', () => openModal(btn.dataset.id)); }); } function openModal(id) { const tool = allTools.find(t => t.id === id); if (!tool) return; modalTitle.textContent = tool.name; const renderList = (items) => { if (!items || !Array.isArray(items) || items.length === 0 || (items.length === 1 && items[0] === 'N/A')) return ''; return `
    ${items.map(item => `
  • ${item.replace(/\*\*(.*?)\*\*/g, '$1')}
  • `).join('')}
`; }; const renderSection = (title, data) => { if (!data || data === 'N/A' || (Array.isArray(data) && data.length === 0)) return ''; const content = Array.isArray(data) ? renderList(data) : `

${data}

`; return `

${title}

${content}
`; }; modalBody.innerHTML = `
${tool.details.tagline ? `

"${tool.details.tagline}"

` : ''} ${renderSection('Overview', tool.details.overview)}

Visit Website

${renderSection('Key Features', tool.details.keyFeatures)} ${renderSection('Educational Use Cases', tool.details.educationalUseCases)} ${renderSection('Pricing & Licensing', tool.details.pricing)} ${renderSection('Prompt & Template Library', tool.details.promptTemplateLibrary)} ${renderSection('Ease of Integration', tool.details.easeOfIntegration)} ${renderSection('Implementation & Training', tool.details.implementationTraining)} ${renderSection('Classroom & District Analytics & Reporting', tool.details.classroomAnalyticsReporting)} ${renderSection('Accessibility & Inclusion', tool.details.accessibilityInclusion)} ${renderSection('AI Engine & Data Ethics', tool.details.aiEngineDataEthics)} ${renderSection('Aggregated Ratings & Reviews', tool.details.aggregatedRatingsReviews)} ${renderSection('Platform & Integration (Detailed)', tool.details.platformIntegration)} ${renderSection('Privacy, Security & Compliance (Detailed)', tool.details.privacySecurityCompliance)} ${renderSection('Standards Alignment (Detailed)', tool.details.standardsAlignment)} ${renderSection('Vendor & Support', tool.details.vendorSupport)} ${renderSection('Community & Support Resources', tool.details.communitySupportResources)} ${renderSection('Case Studies, Testimonials & ROI', tool.details.caseStudiesTestimonialsROI)} ${renderSection('Trend & Growth Data', tool.details.trendGrowthData)} ${renderSection('Version History & "Last Updated"', tool.details.versionHistoryLastUpdated)} ${renderSection('Research Date', tool.details.researchDate)}
`; modal.classList.remove('opacity-0', 'pointer-events-none'); modal.querySelector('.modal-content').classList.remove('scale-95'); document.body.style.overflow = 'hidden'; } function closeModal() { modal.classList.add('opacity-0'); modal.querySelector('.modal-content').classList.add('scale-95'); setTimeout(() => { modal.classList.add('pointer-events-none'); document.body.style.overflow = 'auto'; }, 250); } function setActiveTab(tab) { activeTab = tab; activeFilter = 'All'; searchQuery = ''; if(toolSearchInput) toolSearchInput.value = ''; if(teacherTabBtn) { teacherTabBtn.classList.toggle('active-tab', activeTab === 'teacher'); teacherTabBtn.classList.toggle('inactive-tab', activeTab !== 'teacher'); } if(adminTabBtn) { adminTabBtn.classList.toggle('active-tab', activeTab === 'administrator'); adminTabBtn.classList.toggle('inactive-tab', activeTab !== 'administrator'); } renderFilters(); renderTools(); } if (teacherTabBtn) teacherTabBtn.addEventListener('click', () => setActiveTab('teacher')); if (adminTabBtn) adminTabBtn.addEventListener('click', () => setActiveTab('administrator')); if (modalCloseBtn) modalCloseBtn.addEventListener('click', closeModal); if (modal) modal.addEventListener('click', (e) => { if(e.target === modal) closeModal(); }); if (toolSearchInput) toolSearchInput.addEventListener('keyup', (e) => { searchQuery = e.target.value; renderTools(); }); setActiveTab('teacher'); }; if (window.elementorFrontend && window.elementorFrontend.hooks) { window.elementorFrontend.hooks.addAction('frontend/element_ready/global', init); } else { document.addEventListener('DOMContentLoaded', init); }