diff --git a/app/about/page.tsx b/app/about/page.tsx index 215819a..d007f9a 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,552 +1,523 @@ +import Link from 'next/link'; +import { Badge } from '@/components/ui/badge'; +import { Button } from '@/components/ui/button'; import { Card, CardContent, + CardDescription, CardHeader, CardTitle, -} from '../../components/ui/card'; -import { Badge } from '../../components/ui/badge'; -import { Accordion, AccordionItem } from '../../components/ui/accordion'; -import { Tabs } from '../../components/ui/tabs'; -import { Avatar } from '../../components/ui/avatar'; -import Image from 'next/image'; +} from '@/components/ui/card'; export const metadata = { - title: 'About Us', - description: 'About us — Memo', + title: 'About the Project', + description: 'About Memo — Competency-Based Benchmarking Platform', }; export default function About() { return ( -
-
+
+
+
+
+
+
+ +
{/* Hero Section */} -
-
-
-
-
- TUM Logo -
-
-
-
-

- Applied Education Technologies +
+
+

+ Building the foundation for{' '} + + competency-based recommender benchmarking +

-

Memo Demo Platform

-

- The Applied Education Technologies (AET) group develops - educational technologies and course formats to make hands-on - computing education more accessible, project-based, and impactful. - We collaborate with industry and academic partners to design - practical learning experiences, real client projects, and - AI-powered tools that support teaching and learning. +

+ A collaborative platform for collecting high-quality competency + relationship data, enabling systematic evaluation of educational + recommender systems.

-

- - {/* Core Values Section */} -
- -
- -
- - - -
- Mission -
- - We address complex problems with agile methods and continuous - software engineering. Our work focuses on AI-powered educational - technologies, project-based learning, and practical courses that - prepare students for real-world challenges. - -
- - -
- -
- - - -
- iPraktikum -
- - iPraktikum pairs students with industry partners to build - production-ready applications. Students gain hands-on skills - including CI/CD, usability testing, and full-stack development - while delivering value to real clients. - -
+
+ + +
+
- -
- -
- - - -
- Partners -
- - AET works with universities and industry partners (BMW, Bosch, - Capgemini, ETH, and more) to scale projects and bring real-world - contexts into teaching. - -
+ {/* Quick Stats */} +
+
+
4 Months
+
+ Development Timeline +
+
+
+
2 Students
+
+ Collaborative Effort +
+
+
+
TUM
+
+ Technical University of Munich +
+
- {/* Projects Section */} -
-
-

- Projects & Highlights + {/* The Problem Section */} +
+
+ + The Problem + +

+ Why We Need Standardized Benchmarks

-
-
- -
+ +
+ -
-
- - - -
- LEARN-Kit +
+ + +
+ No Shared Datasets - -

- A modular teaching kit for hands-on CS workshops that supports - inclusive, practical learning experiences for classrooms and - outreach. + +

+ Researchers lack standardized benchmark datasets, making + rigorous comparison of competency-based recommender systems + impossible.

-
- - Education - - - Workshops - -
- -
+ -
-
- - - -
- Research & Publications +
+ + +
+ Data Quality Issues - -

- Recent work includes peer assessment studies, dynamic GUI - testing for auto-graders, and virtual prototyping for - industrial design reviews. + +

+ Existing platforms lack mechanisms to verify contributor + expertise or weight contributions based on credentials.

-
- - Research - - - Innovation - -
-
-
- {/* Stats Section */} -
-
-
- 500+ -
-
Students
-
-
-
- 50+ -
-
Projects
-
-
-
- 20+ -
-
Partners
-
-
-
- 10+ -
-
Years
+ + +
+ + + +
+ + Manual Curation Doesn't Scale + +
+ +

+ Current manual approaches to curating competency relationships + are neither scalable nor reproducible across institutions. +

+
+
- {/* Team Section */} -
-
-

- Our Team + {/* Solution Section */} +
+
+ + Our Solution + +

+ Collaborative Data Collection Platform

-
+

+ Memo enables educators and researchers to contribute competency + mappings systematically, creating a high-quality benchmark dataset + for evaluating educational recommender systems. +

-
-
-
-
- -
-
-
- Prof. Dr. Stephan Krusche + +
+
+
+
+ + + +
+
+

+ Generalized Database Model +

+

+ Captures competency relationships independent of specific + LMS implementations, enabling universal benchmark dataset + creation. +

-
Group Lead
-
-
-
- -
-
-
Dr. Research Lead
-
- Senior Researcher + +
+
+
+ + + +
+
+

+ Verified Contributors +

+

+ Domain-based email verification and role-based access + control ensure contributions come from credible sources. +

-
-
-
- + +
+
+
+ + + + +
+
+

+ Admin Interfaces +

+

+ Comprehensive tools for user management, dataset export, and + quality monitoring. +

+
-
-
Tech Lead
-
- Software Architect +
+ +
+
+
+ + + +
+
+

+ Production Infrastructure +

+

+ Docker containerization and deployment pipelines enable + scalable, concurrent access across institutions. +

-
-
-
- +
+
+ + {/* Impact Section */} +
+
+ + Impact + +

+ Advancing Educational Technology Research +

+
+
+
+ + + +

+ Enable systematic evaluation of competency-aware recommender + systems +

+
+
+ + + +

+ Facilitate empirical validation of pedagogical theories +

+
-
-
- Education Specialist +
+
+ + + +

+ Support cross-institutional comparative studies +

-
- Pedagogy Expert +
+ + + +

+ Accelerate development of personalized learning systems +

- {/* Course Offerings with Tabs */} -
-
-

- Course Offerings + {/* Tech Stack Section */} +
+
+ + Technology + +

+ Built with Modern Web Technologies

-
+

+ The platform leverages industry-standard tools to ensure + reliability, scalability, and maintainability. +

- - - - - Introduction to Software Engineering - - - -

- Learn the fundamentals of software development, - version control, testing, and agile methodologies. -

-
- - Beginner Friendly - - - 6 ECTS - -
-
-
- - - - Web Development Fundamentals - - - -

- Build modern web applications using HTML, CSS, - JavaScript, and popular frameworks. -

-
- - Hands-on - - - 5 ECTS - -
-
-
-

- ), - }, - { - id: 'graduate', - title: 'Graduate', - content: ( -
- - - - iPraktikum - Industry Project - - - -

- Work with real industry partners on production - applications, gaining professional development - experience. -

-
- - Advanced - - - 10 ECTS - -
-
-
- - - - AI in Education Technologies - - - -

- Explore how artificial intelligence can enhance - teaching and learning experiences. -

-
- - Research-Focused - - - 8 ECTS - -
-
-
+
+ {[ + { name: 'Next.js 15', color: 'from-black to-gray-800' }, + { name: 'React 19', color: 'from-blue-500 to-cyan-500' }, + { name: 'TypeScript', color: 'from-blue-600 to-blue-700' }, + { name: 'PostgreSQL', color: 'from-blue-700 to-indigo-800' }, + { name: 'Prisma', color: 'from-teal-600 to-cyan-600' }, + { name: 'Tailwind CSS', color: 'from-cyan-500 to-blue-500' }, + ].map(tech => ( +
+
+
+
- ), - }, - { - id: 'workshops', - title: 'Workshops', - content: ( -
- - - - Git & Version Control Workshop - - - -

- Master Git workflows, branching strategies, and - collaborative development practices. -

-
- - Half-Day - - - All Levels - -
-
-
- - - - CI/CD & DevOps Essentials - - - -

- Learn continuous integration, deployment pipelines, - and modern DevOps practices. -

-
- - Full-Day - - - Intermediate - -
-
-
-
- ), - }, - ]} - /> +

+ {tech.name} +

+
+
+
+ ))} +
- {/* FAQ Section */} -
-
-

- Frequently Asked Questions + {/* Team Section */} +
+
+ + Team + +

+ Bachelor's Thesis Project

-
-
- - - iPraktikum is our flagship project-based course where students - work in teams with industry partners to develop real-world - software applications. Students gain hands-on experience with - modern development practices, agile methodologies, and - professional software engineering workflows. - - - AET courses are available to TUM students through the regular - course registration system. Check the course catalog for - prerequisites, available slots, and registration deadlines. Some - courses may require prior programming experience or specific - technical knowledge. - - - Yes! We offer several beginner-friendly courses including - Introduction to Software Engineering and Web Development - Fundamentals. These courses assume no prior programming - experience and provide a solid foundation in software - development. - - - Absolutely! We actively seek partnerships with industry - organizations for student projects, research collaborations, and - course development. Contact us to discuss potential - collaboration opportunities. - - - Students work with modern technologies including Git, CI/CD - pipelines, cloud platforms, popular programming languages and - frameworks, testing tools, and agile project management systems. - The specific tech stack varies by course and project - requirements. - - + +
+ + + Viktoriya Totalova + + B.Sc. Computer Science Student, TUM + + + + Developing foundational infrastructure: database model, + authentication systems, administrative interfaces, and + production deployment. + + + + + + Mark Stockhausen + + B.Sc. Management & Technology Student, TUM + + + + Implementing contributor interface, scheduling service, and + engagement strategies for optimal participant interaction. + + + + + + Prof. Dr. Stephan Krusche + Supervisor + + + Chair of Applied Software Engineering, Technical University of + Munich + + + + + + Maximilian Anzinger, M.Sc. + Advisor + + + Research advisor providing guidance on competency-based + educational systems. + + +
+ +
+ Timeline: December 15, 2025 – April 15, 2026

diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index e7f0949..c55d13e 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -85,27 +85,6 @@ export default function DashboardPage() {
- -
); } diff --git a/app/globals.css b/app/globals.css index eabb513..01d8300 100644 --- a/app/globals.css +++ b/app/globals.css @@ -71,6 +71,9 @@ } @layer base { + html { + scroll-behavior: smooth; + } * { @apply border-border outline-ring/50; } diff --git a/app/layout.tsx b/app/layout.tsx index 10d6118..013d117 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -3,6 +3,7 @@ import { Geist, Geist_Mono } from 'next/font/google'; import './globals.css'; import { Navbar } from '../components/navbar'; import { ThemeProvider } from '../components/theme-provider'; +import { Footer } from '../components/footer'; const geistSans = Geist({ variable: '--font-geist-sans', @@ -36,8 +37,12 @@ export default function RootLayout({ enableSystem disableTransitionOnChange > - - {children} +
+
+ + {children} +
+
diff --git a/app/onboarding/page.tsx b/app/onboarding/page.tsx index 326d477..7e6d37f 100644 --- a/app/onboarding/page.tsx +++ b/app/onboarding/page.tsx @@ -114,27 +114,6 @@ export default function OnboardingPage() {
- - ); } diff --git a/app/page.tsx b/app/page.tsx index a72be03..2c6a6ee 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -2,6 +2,7 @@ import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; +import Image from 'next/image'; type ProblemStatement = { headline: string; @@ -34,32 +35,17 @@ const [leadProblem, ...otherProblems] = problemStatements; export default function Page() { return (
- +
+
+
+
+
-
-
- - Competency Benchmark Mapping Platform - -
- -
- -
-
+
+

@@ -69,109 +55,139 @@ export default function Page() { . Let’s build it together.

-

- Memo brings people together to build and validate shared - competency networks to create the trusted data foundation - recommender systems need for meaningful evaluation.{' '} +

+ Memo turns collaborative competency mapping into an open + benchmark dataset for fair, reproducible evaluation of + competency-aware recommender systems.

-
+
+
+ Preview of a Memo competency mapping session +
+
+
+
+
-
-
- - Current Challenges - -

- Why competency-aware recommenders stall -

-

- Personalization is only as strong as the competency data beneath - it. Incompatible graphs and opaque recommendations keep research - and practice from compounding. -

+
+
+ + Problem + +
+

+ Missing Benchmarks for +
+ Competency-Based Recommenders +

+

+ Competency-based recommenders use{' '} + + competency networks + + —graphs of skills and their relationships—to suggest learning + content. However, reliance on custom networks and datasets makes + results across recommender systems hard to compare and trust. +

+
+
-
-
-
-
-
-
- - {leadProblem.insight} - -

- {leadProblem.headline} -

-

- {leadProblem.detail} -

-
-
+
+ +
+
+
+
+
+ + Current Challenges + +

+ Why Competency-Aware Recommenders Stall +

+

+ Personalization is only as strong as the competency data beneath + it. Incompatible graphs and opaque recommendations keep research + and practice from compounding. +

-
- {otherProblems.map((problem, _index) => ( -
-
-

- {problem.headline} +
+
+
+
+
+
+ + {leadProblem.insight} + +

+ {leadProblem.headline}

-
- {problem.insight} -
-

- {problem.detail} +

+ {leadProblem.detail}

- ))} +
+
+ {otherProblems.map((problem, _index) => ( +
+
+

+ {problem.headline} +

+
+ {problem.insight} +
+

+ {problem.detail} +

+
+
+ ))} +

- - -
- ); -} - -function LiquidGlassGradient() { - return ( -
-
-
-
-
-
-
); } diff --git a/app/session/page.tsx b/app/session/page.tsx index cb0faf8..ce5fcc2 100644 --- a/app/session/page.tsx +++ b/app/session/page.tsx @@ -155,8 +155,6 @@ export default function SessionPage() { Mapping Session Completed: {stats.completed} - - Skipped: {stats.skipped}

@@ -231,27 +229,6 @@ export default function SessionPage() {

- -
); } diff --git a/components/footer.tsx b/components/footer.tsx new file mode 100644 index 0000000..3cd1ba9 --- /dev/null +++ b/components/footer.tsx @@ -0,0 +1,22 @@ +'use client'; + +export function Footer() { + return ( + + ); +} diff --git a/components/navbar.tsx b/components/navbar.tsx index b4ee5c5..622716e 100644 --- a/components/navbar.tsx +++ b/components/navbar.tsx @@ -17,65 +17,94 @@ export function Navbar() { const pathname = usePathname(); const { theme, setTheme } = useTheme(); const [mounted, setMounted] = useState(false); + const [scrolled, setScrolled] = useState(false); + const activeIndex = + navItems.findIndex(item => item.href === pathname) === -1 + ? 0 + : navItems.findIndex(item => item.href === pathname); useEffect(() => { setMounted(true); }, []); + useEffect(() => { + const handleScroll = () => { + setScrolled(window.scrollY > 4); + }; + handleScroll(); + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + return (
diff --git a/next.config.ts b/next.config.ts index 5e891cf..b22af96 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,7 +1,5 @@ import type { NextConfig } from 'next'; -const nextConfig: NextConfig = { - /* config options here */ -}; +const nextConfig: NextConfig = {}; export default nextConfig; diff --git a/public/sessionPreview.png b/public/sessionPreview.png new file mode 100644 index 0000000..2a210e6 Binary files /dev/null and b/public/sessionPreview.png differ