The acquisition of foreign language competencies has become one of the main concerns of current ICT educational policies. Mobile smart devices allow teachers to provide students with personalized learning environments in line with their needs. However, most of the available apps, especially in the area of foreign language learning, still focus on form-based learning supporting mainly one-way interaction. In this chapter, the authors designed a learning system based on a dynamic, asynchronous and constructive learning approach. The chapter illustrates how the system helped students to get involved in their learning process by creating, sharing, and assessing their own learning resources and how teachers could benefit from students' logs to retrieve indicators for assessment processes. Finally, two algorithms that guide students' learning processes are compared: the first algorithm is based on community-driven behaviour, the second one on students' individual behaviour. Results show that both algorithms provide similar outcomes.