Detecting the needs of the learner is a challenging task for systems addressing issues related to either adaptivity or personalization. In this paper we present a student-driven learning and assessment tool along with a tool for detecting/calculating learning styles and affective states. The learning and assessment tool enables learning, while the detection/calculation tool detects learning styles and affective states from the behavior of learners. The resulting behavior is then reflected in the database. This method does not require learners to fill out a lengthy questionnaire. Also, there is no need to monitor observational cues, such as gesture, posture, conversation etc. of the learner; the detection/calculation tool automatically identifies learning styles and affective states.